一位以前的同事很久以前创建了一个脚本,其中一个称为Python文件,这个脚本从两个CSV文件中检索信息,并将它们合并为一个。
这个脚本运行得很好,不用担心,我需要对它做一些修改,只需要几个.replaces
。在我的计算机上执行得很好,但它不能在我做这些修改的人上工作,在CMD中有一个错误信息,不太擅长Python I块,我当然尝试了研究和几次修改,但没有成功,每次结果是最终文件是空的,而不是包含所有的数据。
突然间,在我的pc上,.replace
阻塞了他的错误,所有的单词都没有被替换。
我的Python版本是2.7.14,他的版本是3.8.6,我猜问题就在那里,但我看不出有什么需要改变的。
我尝试了这种方法,但没有成功:UnicodeEncodeError: 'charmap' codec can't encode characters
Python文件:
#coding:utf-8
import sys
file_name=sys.argv[1]
file=open(file_name,"r")
file = ''.join([i for i in file]) \
.replace("clôturée", "Clôturée").replace(",",".").replace("Entitées", "").replace("Tous", "")
output=open(sys.argv[1],"w")
output.writelines(file)
output.close()
CMD错误:
发布于 2021-03-11 17:39:24
问题很可能是您使用的是不同的操作系统,而open()
函数默认使用您的本地系统编码。如果在打开文件时指定UTF-8编码,则无论脚本用户位于哪个操作系统上,都可以确保以相同的方式对文本进行编码。
如下所示指定编码:
file = open(file_name, "r", encoding="utf-8")
https://stackoverflow.com/questions/66579805
复制相似问题