首页 > 解决方案 > 如何在 csv 文件中写入和附加数据并将其存储在列表中

问题描述

我在我的 python 代码本身中创建了 csv 文件,并将在 ti 中附加下一个数据,但错误即将到来

io.UnsupportedOperation: not readable 

我试过的代码是:

df.to_csv('timepass.csv', index=False)
with open(r'timepass.csv', 'a') as f:
       writer = csv.reader(f)
       your_list = list(writer)
       print(your_list)

想要追加下一个数据并存储在同一个 csv 文件中。这样 csv 文件同时具有以前和当前的数据。所以请帮我找出来..提前谢谢...

标签: pythonlistcsvappend

解决方案


尝试:

with open(r'timepass.csv', 'r') as f:
    reader = list(csv.reader(f))

print(reader)

在这里,您将文件打开为r,这意味着只读并将列表内容分配给readerwith list(csv.reader(f))。您之前的代码a打开文件以仅在文档中描述为的位置附加:

'a' 打开文件进行追加;写入文件的任何数据都会自动添加到末尾

并且不支持read().

如果您想从不同的列表将数据附加到 csv 文件,请使用 with opena方法writer

with open('lake.csv','a') as f:
    csv.writer(f,[1,2,3]) #dummy list [1,2,3]

或者直接pandas.DataFrame.to_csv从新数据框的方法中,header = False以免附加标题:

df.to_csv('timepass.csv', index=False)
df_new.to_csv(r'timepass.csv', mode='a', header=False) #once you have updated your dataframe, you can directly append it to the same csv file

推荐阅读