Python CSV,如何在逐行(逐行)读取数据的同时将数据追加到行的末尾?

Python CSV,如何在逐行(逐行)读取数据的同时将数据追加到行的末尾?,python,python-3.x,csv,file-writing,Python,Python 3.x,Csv,File Writing,我正在逐行(逐行)阅读一个名为:candidates.CSV的CSV文件,如下所示: import csv for line in open('candidates.csv'): csv_row = line.strip().split(',') check_update(csv_row[7]) #check_update is a function that returns an int 如何将check_updates函数返回的数据附加到我正在读取的行(行)的末尾? 以下是

我正在逐行(逐行)阅读一个名为:candidates.CSV的CSV文件,如下所示:

import csv
for line in open('candidates.csv'):
    csv_row = line.strip().split(',')
    check_update(csv_row[7]) #check_update is a function that returns an int
如何将check_updates函数返回的数据附加到我正在读取的行(行)的末尾? 以下是我尝试过的:

for line in open('candidates.csv'):
    csv_row = line.strip().split(',')
    data_to_add = check_update(csv_row[7])
    with open('candidates.csv','a') as f:
        writer = csv.writer(f)
        writer.writerow(data_to_add)
获取此错误:

_csv.Error: iterable expected, not NoneType
也不完全确定这是否会添加到我正在阅读的行末尾的正确位置


一句话,如何最好地将数据添加到我当前正在阅读的行的末尾?

请在尝试备份文件之前进行备份,以防万一。

您可以编写一个新的临时文件,并将其移动到从中读取的旧文件上方的位置

从tempfile导入NamedTemporaryFile
进口舒蒂尔
导入csv
文件名='candidates.csv'
tempfile=NamedTemporaryFile('w',delete=False)
将open(filename'r',newline=''作为csvFile,tempfile:
writer=csv.writer(临时文件)
对于csvFile中的行:
csv_row=line.strip().split(“,”)
csv_row.append(选中更新(csv_row[7]))#这将把数据添加到列表的末尾。
writer.writerow(csv_行)
shutil.move(tempfile.name,文件名)

Hi Faizan,我收到了这个错误:PermissionError:[WinError 32]该进程无法访问该文件,因为它正被另一个进程使用:“C:\\Users\\COBRAC~1\\AppData\\Local\\Temp\\tmpa5gh3d1j”确保在
with
块外部调用
shutil.move