西班牙
斯潘4
我突然收到一个管道分隔的文本文件,其中嵌入了伪unicode字符,应该是一个宏“o”。不幸的是,它在ASCII文件中转换为^Z。
所有的元音在毛利语中都可以有马克龙,而且有一项新政策,所有政府部门都必须添加马克龙。如果所有软件都支持unicode,那么这可能会起作用。
有些程序会处理这个问题,不管^Z是什么,都会读取整个文件,但是很多程序会停止。FME CSV2读取器停止。奇怪的是,FME文本文件读取器处理它们的编码设置为DOS-Latin-1(ibm-850)
我能做什么?
最简单的想法是翻译这对字符^咗返回到纯ascii o。
当然TR我可以把衣服脱掉…不。
我试着用UTF-8CSV阅读器上的编码参数和其他技巧TR没有成功。
我附加了一个测试sample.asc两张唱片中的一张。
Unix系统厕所-l返回一个计数1,这不是一个好的开始,因为我可以猫两张唱片。
我已经基于堆栈交换的这个建议创建了一个解决方案
https://stackoverflow.com/questions/20078816/replace-non-ascii-characters-with-a-single-space
def processFeature(feature):“提取字段8中的记录类型并删除^Z”“”buffer=feature.getAttribute('text_line_data')fixed=''.join([i if ord(i)>31 else''for i in buffer])feature.setAttribute(“rec”,buffer.split('|')[7])feature.setAttribute('text_line_data',fixed)
我用文本阅读器读取了整个文件(它忽略了^Z-hooray!)然后用PythonCaller去掉^Z,把每一行写进另一个文本文件。然后我可以使用一个CSVReader来读取在管道分隔符处成功拆分的数据。也许我可以用一个工作区运行器将这两个进程连接起来,但我只想让我原来的工作区再次运行。
我无法使用原始的启动Python脚本,因为Python还停留在嵌入的^Z上。?2019安全亚搏在线软件公司|合法的