span8
span4
你好,
我想从一个https站点读取一个csv文件(压缩)并公开“date modified”值。我发现这个线程解释了如何使用目录和文件路径名阅读器,但这并不适用于https源。https://knowledge.亚搏在线safe.com/answers/32678/view.html
有没有没有先下载文件的变通方法?谢谢你的帮助。
您可以将CSV阅读器直接指向https://data.geo.admin.ch/ch.bfs.gebaeude_wohnungs_register/CSV/CH/CH.zip,在这种情况下,FME将自动下载并为您解压文件。
或者您可以在您的工作空间中“手动”完成,请参见所附的示例。注意,在这种情况下,您必须手动在FeatureReader中公开CSV属性。
在python调用者中插入以下内容:
从fmeobjects导入*导入zipfile导入时间,datetime类GetZipFileDates(object): def input(self, feature): zip_file = feature. getattribute ('zip_file') fh = open(zip_file, 'rb') z = zipfile. zipfile (fh) for f in z.infolist(): date_time = time.mktime(f)date_time + (0,0, -1)) dt = datetime.datetime.fromtimestamp(date_time) new_feature = FMEFeature() new_feature。new_feature setAttribute(“文件名”,f.filename)。setAttribute('date_time', dt.strftime('%Y%m%d%H%M%S')) self.pyoutput(new_feature)
python调用者期望一个带有“zip_file”属性的特性,该属性包含有效zip文件的完整路径和文件名。它将为zip文件中的每个文件输出一个特性,包含文件名和修改日期(FME日期时间格式),例如。
属性(字符串):' date_time'有值' 20180311125412'属性(字符串):' filename'有值' CH.csv'
你可以这样说。使用“filename”上的测试器只获取您想要的文件。
PythonCaller应该配置如下:
大多数文件系统都有与每个文件对象相关联的元数据,比如最后修改的日期,目录和文件路径名使用filesystem API来检索这些值。
然而,HTTP/S协议对于文件元数据没有这样的标准化机制。
如果web服务器没有以某种文档化的方式明确地向您提供这些信息,我认为您将无法获得这些信息。
©2019安全亚搏在线软件公司法律