gpt4 book ai didi

Python CSV逐行读取并插入新数据

转载 作者:行者123 更新时间:2023-11-30 23:09:22 24 4
gpt4 key购买 nike

我有一个 csv 文件,我将从该文件中逐行读取数据,对于某些字段,需要处理数据并将结果插入到同一行的另一个字段中,然后再转到下一个字段。

我尝试了各种方法,例如:

w = open('test.csv', 'w+')
csv_r = csv_reader(w)
csv_w = csv.writer(w)

for row in csv_r:
row[10] = results
csv_w.writerows(row)

但是我变得一片空白。还有其他方法吗?

基本上,我需要读取一行中的特定元素,然后处理数据,结果将附加到同一行中的另一个元素中。

最佳答案

w+ 清空/截断你的文件,这样你就没有什么可以迭代的了。它是用于读写的r+

要更新文件,可以存储所有更新的行,重新打开文件并写入,或者更好的方法是使用 tempfile.NamedTemporaryFile写入然后用shutil.move替换原来的。

from tempfile import NamedTemporaryFile
from shutil import move
import csv


with open("test.csv") as f, NamedTemporaryFile("w",dir=".", delete=False) as temp:
# write all updated rows to out tempfile
csv_w = csv.writer(out)
csv_r = csv.reader(f)
for row in csv_r:
row[10] = results
csv_w.writerows(row)
# replace original file with updated
move(temp.name,"test.csv")

关于Python CSV逐行读取并插入新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31242460/

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