gpt4 book ai didi

python - Python中的CSV读写

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:57 27 4
gpt4 key购买 nike

我有这个名为 task2.csv 的 CSV 文件。标题为:项目描述。我正在尝试使用以下 csv python 脚本将 "i", "ink" 添加到此 csv。但它添加到错误的列并修改最后一个字段。请帮助我使我的脚本从一个新的行开始。

我尝试过的事情:

  • 保存 csv,并将指针指向新行
  • 写入两次(第二次写入函数被调用,它工作正常。第一次写入仍然修改最后一行,但第二次写入写入新行。
  • 检查了堆栈溢出并根据一些建议进行了修改(使用 dictReader 和 dictWriter)仍然不起作用

我的代码:

import csv

def readCsv(file):
dict = {}
with open(file) as csvdata:
csvReader = csv.DictReader(csvdata)
for row in csvReader:
print row['item'], row['description']

def writeCsv(file, field):
fieldnames = ['item', 'description']
with open(file, 'a') as f:
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writerow({'item': 'i', 'description': 'ink'})

writeCsv("task2.csv", "a")
readCsv("task2.csv")

原始 CSV:

enter image description here

修改后的 CSV:

enter image description here

最佳答案

我可以重现这个问题。

原因:您的 CSV 最后一行不完整;最后一行以“换行”字符结束,即\n

为了更安全,改变writer = csv.DictWriter(f, fieldnames=fieldnames)

writer = csv.DictWriter(f, fieldnames=fieldnames,
lineterminator="\n")

在记事本中打开 csv,在 hati 后按 Enter保存

然后运行该程序,它应该可以解决问题。

关于python - Python中的CSV读写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49617199/

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