Python如何为CSV缺失字段的行补充内容并保存修改
问题根因
你当前的代码仅以只读模式打开了CSV文件,遍历过程中修改的只是内存中临时生成的row对象,所有修改都没有写入到磁盘的文件里,所以看不到变化。
修复后的代码
你需要先读取并处理所有行,再把处理后的结果写回文件,参考代码如下:
import csv # 读取并处理所有行 processed_rows = [] with open("./missed.csv", "r", encoding="utf-8") as f: reader = csv.reader(f) for row in reader: if len(row) == 1: row.append('1') row.append('Yes') processed_rows.append(row) # 将处理后的内容写入文件 with open("./missed.csv", "w", encoding="utf-8", newline="") as f: writer = csv.writer(f) writer.writerows(processed_rows)
注意事项
- 代码开头需要引入
csv模块,否则运行会报错 - 写文件时加
newline=""参数是为了避免Windows系统下写入CSV出现多余空行的问题 - 如果担心直接覆盖原文件丢失数据,可以把写入的文件名改为其他值,比如
./missed_fixed.csv,验证结果没问题后再替换原文件
内容的提问来源于stack exchange,提问作者GuiEpi
相关产品推荐
相关产品推荐

