如何解决如何替换CSV文件中的特定字符
我有一个CSV文件文件夹(〜100个),每个文件都有一个这样的未知字符。该未知字符应该是双引号(“)。由于存在未知字符,我无法运行CSV到xlsx转换器将文件转换为XLSX格式。
我尝试使用csv.read()
函数,但是它不与replace function
一起使用,因为csv.read()
返回了一个读取器对象,替换对此不起作用。如何替换该字符并将替换后的内容写回csv,以便可以将csv运行到xlsx转换器?
示例: 当前文件竞争: “你好。
转换后的输出: “你好”
解决方法
尝试一下:
import fileinput
with fileinput.FileInput("file.csv",inplace=True) as file:
for line in file:
print(line.replace('�','"'),end='')
,
sed命令就是为这种工作而设计的。它查找并替换文件中的字符。 在终端中使用它。
sed -i 's/old-word/new-word/g' filename.csv
您的old-word
应该是未知字符,而new-word
应该是双引号
我使用这个小功能来解决此类问题。 该代码是不言自明的。它会打开一个文件,将其全部读取(对于大于RAM的文件可能不起作用),然后使用补丁程序版本对其进行重写。
def patch_file(file,original,patch):
with open(file,'r') as f:
lines = f.readlines()
with open(file,'w') as f:
for line in lines:
f.write(line.replace(original,patch))
patch_file(file='yourCSVfile.txt',original='�',patch'"')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。