python - 如何替换 CSV 文件中的特定字符
问题描述
我有一个 CSV 文件(~100)的文件夹,每个文件都有一个看起来像这样的未知字符。这个未知字符应该是双引号 (")。由于这个未知字符,我无法运行我的 CSV 到 xlsx 转换器来将我的文件转换为 XLSX 格式。
我尝试使用该csv.read()
函数,但它不适用于replace function
ascsv.read()
返回一个阅读器对象,并且 replace 不适用于此。如何替换该字符并将替换的内容写回 csv,以便我可以运行我的 csv 到 xlsx 转换器?
示例:当前文件内容:“hello�</p>
转换后的输出:“你好”
解决方案
我使用这个小功能来处理此类问题。该代码是不言自明的。它打开一个文件,全部读取(可能不适用于大于 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'"')
推荐阅读
- python - Python:“浮动”对象不可下标
- oracle - 如何转义字符串中的单引号?
- python-3.x - 如何从不和谐服务器获取所有用户?
- postgresql - 在选定的时间间隔来自 PostgreSQL 数据库的数据
- python - 代码未执行,但也未显示任何错误
- eclipse-rcptt - 在 RCPTT 中使用数据绑定时,单击单选按钮不会更新布局
- python - IOError:[Errno 13] 权限被拒绝 Pandas
- c++ - MSB6006:“CL.exe”在使用 openMP 时以代码 2 退出
- sql-server - 将单行拆分为多行 - SQL Server Management Studio 2018
- solr - 即使没有为 solrQuery 找到单个结果,也显示构面结果