首页 > 解决方案 > 根据查询Python写入CSV中的特定行

问题描述

我正在尝试在我的 csv 文件中查找一个值,如果找到它,请在其行的末尾写回一个值。例如,如果 csv 看起来像这样:

 #   A  B 
111  1
112  0
113  0
114  1

我查找 111 并想在其行的第一个空单元格中写入 0,我该怎么做?

标签: pythonpython-3.xcsv

解决方案


无法在文件中间插入数据。写入文件中间将覆盖该位置的数据。反而:

  • 以读取模式打开文件
  • 读取文件中的所有数据
  • 关闭文件
  • 以写入模式重新打开文件
  • 写前几行
  • 写下你的额外数据
  • 写剩下的原始数据

一个例子:

with open('test.csv') as f:
l = f.readlines()

l[4] += '0'
with open('test2.csv', 'w') as f:
    f.writelines(l)

推荐阅读