2024-06-02 07:54:23 发布
网友
我有一个CSV文件文件夹(~100),每个文件都有一个未知字符,如下所示�. 此未知字符应为双引号(“)。由于此未知字符,我无法运行CSV到xlsx转换器将文件转换为xlsx格式
我尝试使用csv.read()函数,但它不使用replace functionas csv.read()返回一个读卡器对象,替换不起作用。如何替换该字符并将替换的内容写回csv,以便运行csv到xlsx转换器
csv.read()
replace function
例如: 当前文件内容: “你好�
转换后的输出: “你好”
sed命令是为这种工作而设计的。它查找并替换文件中的字符。 在终端中使用此选项
sed -i 's/old-word/new-word/g' filename.csv
你的old-word应该是未知字符,new-word应该是双引号
old-word
new-word
试试这个:
import fileinput with fileinput.FileInput("file.csv", inplace=True) as file: for line in file: print(line.replace('�', '"'), end='')
我使用这个小函数来处理这些问题。 这段代码完全是不言自明的。它打开一个文件,全部读取(对于大于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'"')
sed命令是为这种工作而设计的。它查找并替换文件中的字符。 在终端中使用此选项
你的
old-word
应该是未知字符,new-word
应该是双引号试试这个:
我使用这个小函数来处理这些问题。 这段代码完全是不言自明的。它打开一个文件,全部读取(对于大于RAM的文件可能不起作用),然后用补丁版本重写它
相关问题 更多 >
编程相关推荐