首页 > 解决方案 > 如何替换 CSV 文件中的特定字符

问题描述

我有一个 CSV 文件(~100)的文件夹,每个文件都有一个看起来像这样的未知字符。这个未知字符应该是双引号 (")。由于这个未知字符,我无法运行我的 CSV 到 xlsx 转换器来将我的文件转换为 XLSX 格式。

我尝试使用该csv.read()函数,但它不适用于replace functionascsv.read()返回一个阅读器对象,并且 replace 不适用于此。如何替换该字符并将替换的内容写回 csv,以便我可以运行我的 csv 到 xlsx 转换器?

示例:当前文件内容:“hello�</p>

转换后的输出:“你好”

标签: pythoncsv

解决方案


我使用这个小功能来处理此类问题。该代码是不言自明的。它打开一个文件,全部读取(可能不适用于大于 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'"')

推荐阅读