gpt4 book ai didi

python - 在python3中的csv文件的特定行之后添加一个新行

转载 作者:行者123 更新时间:2023-11-28 17:22:35 24 4
gpt4 key购买 nike

我正在编写一个 python 代码,其中读取一个 csv 文件并写入一些信息。在这个阶段,我应该找到一个特定的行并在它之后添加一行新数据。我已成功找到该行,但无法在其后写入新的数据行。这是我的尝试:

file = open('db.csv', 'r+')
table = csv.reader(file)
for row in table:
if(row == ['tbl']):
file.seek(len(row)) #this part is the problem I suppose
break
table = csv.writer(file)
table.writerow(['1', '2'])

最佳答案

使用 file.seek/file.tell 很棘手,因为 csv.reader 可以提前读取;无法说出与当前行匹配的确切文件位置。

插入也不是微不足道的;你需要记住剩下的部分。

我会按照以下方式进行:

  • 正在创建另一个用于写入的文件
  • 根据自己的需要写
  • 完成后,用新文件替换旧文件

import csv
import shutil

with open('db.csv', 'r', newline='') as f, open('db.csv.temp', 'w', newline='') as fout:
reader = csv.reader(f)
writer = csv.writer(fout)
for row in reader:
writer.writerow(row)
if row == ['tbl']:
writer.writerow([]) # empty line

shutil.move('db.csv.temp', 'db.csv')

关于python - 在python3中的csv文件的特定行之后添加一个新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40702505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com