gpt4 book ai didi

python - 如何使用 Python 将新行数据添加到 CSV 文件?

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:00 28 4
gpt4 key购买 nike

我有一个名为 studentDetailsCopy 的 CSV 文件,需要在它的末尾添加一行数据,但目前它会将它添加到最后一行的末尾,所以它最终看起来像this: 邮件末尾的a28是需要在其下方添加的数据(第28行)

CSV file

这是我的代码:

newStudentAttributes = ([str(lastRowInt), newSurname, newForename, newDoB, newAddress, newHomePhoneNumber, newGender, newTutorGroup, newSchoolEmail])

with open('studentDetailsCopy.csv', 'a') as studentDetailsCSV:
writer = csv.writer(studentDetailsCSV, dialect='excel')
writer.writerow(newStudentAttributes)

最佳答案

当您使用 open(file,"a") 时,python 将始终打开到文件末尾。由于您的 CSV 文件底部没有空换行符“\r\n”,即最后一行是“26,...”,csv 编写器会附加到该行。在此循环中,您应该使用 open(file,"a+") 读取最后一行,检查它是否为空。如果它不为空,则执行 writer.writerow() 以插入换行符。

with open('studentDetailsCopy.csv', 'a+') as studentDetailsCSV:
# Go to the last row, jump before the EOF terminator
studentDetailsCSV.seek(-2,2)
line = studentDetailsCSV.readline()
writer = csv.writer(studentDetailsCSV, dialect='excel')
#If the line is more than just a terminator, insert a newline.
if line != "\r\n":
writer.writerow("")
writer.writerow(newStudentAttributes)

关于python - 如何使用 Python 将新行数据添加到 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40304504/

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