Python 如何在csv文件中写入和附加数据并将其存储在列表中

Python 如何在csv文件中写入和附加数据并将其存储在列表中,python,list,csv,append,Python,List,Csv,Append,我在python代码中创建了csv文件,并将在其中添加下一个数据,但错误正在发生 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_lis

我在python代码中创建了csv文件,并将在其中添加下一个数据,但错误正在发生

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文件同时具有以前和当前数据。 所以请帮我找出答案。。 先谢谢你

试试看:

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

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

“a”打开要追加的文件;写入文件的任何数据都是 自动添加到末尾

并且不支持
read()

如果您想从其他列表向csv文件追加数据,请使用with open as
a
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
尝试:

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

“a”打开要追加的文件;写入文件的任何数据都是 自动添加到末尾

并且不支持
read()

如果您想从其他列表向csv文件追加数据,请使用with open as
a
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

它非常简单,请尝试以下方法:

import pandas as pd

df = pd.read_excel("NSTT.xlsx","Sheet1")  #reading Excel 

print(df)    #Printing data frame 

df.to_excel("new.xlsx")    #Writing Dataframe into New Excel file 
现在,如果要在同一文件中追加数据,请使用

df.to_excel("new.xlsx","a")

无需添加列表,因为您可以直接访问与数据框列表相同的数据,只需定义位置。

非常简单,只需尝试以下操作:

import pandas as pd

df = pd.read_excel("NSTT.xlsx","Sheet1")  #reading Excel 

print(df)    #Printing data frame 

df.to_excel("new.xlsx")    #Writing Dataframe into New Excel file 
现在,如果要在同一文件中追加数据,请使用

df.to_excel("new.xlsx","a")

无需添加列表,因为您可以直接访问与数据框列表相同的数据,只需定义位置。

您可以使用pandas快速添加两个csv

import pandas as pd
dataframe1=pd.read_csv("a.csv")
dataframe2=pd.read_csv("b.csv")
dataframe1=dataframe1.append(dataframe2)
dataframe1=dataframe1.reset_index(drop=True)
dataframe1.to_csv("a.csv")

可以使用pandas快速附加两个csv

import pandas as pd
dataframe1=pd.read_csv("a.csv")
dataframe2=pd.read_csv("b.csv")
dataframe1=dataframe1.append(dataframe2)
dataframe1=dataframe1.reset_index(drop=True)
dataframe1.to_csv("a.csv")
请查收

您可以在python中使用pandas来读取和写入csv:

import pandas as pd 

df = pd.read_csv("csv file")

print(df)
请查收

您可以在python中使用pandas来读取和写入csv:

import pandas as pd 

df = pd.read_csv("csv file")

print(df)

嗨,欢迎来到SO!如果有人的答案解决了您的问题,您可能希望使用大复选框将其作为答案接受,因为它也有助于并激励社区。出现错误,先生……属性错误:模块“csv”没有属性“ReadLine”我为
csv
模块编辑了我的答案。您好,欢迎使用SO!如果有人的答案解决了您的问题,您可能希望使用大复选框将其作为答案接受,因为它也有助于并激励社区。出现错误,先生……属性错误:模块“csv”没有属性“ReadLine”我为
csv
模块编辑了我的答案。顺便说一句。错误为:AttributeError:模块“csv”没有属性“readlines”。还希望以列表格式存储数据。正如我在问题中提到的。道歉
readlines()
不适用于
csv
模块。您可以使用
reader
。将open('lake.csv','a')作为l:reader=csv.writer(l[1,2,3])#虚拟列表[1,2,3]输出为:
csv.writer
是用于写入的对象。请参阅编辑后的回复。您正在编写的列表是虚拟列表。如果你正在写,如果你已经知道你在写什么,这是有意义的。在这个例子中,它是一个伪列表。df.to_csv('timepass.csv',index=False)df_new.to_csv(r'timepass.csv',mode='a',header=False),这样你就可以写两次文件,而不是按你的方式附加。错误为:AttributeError:模块“csv”没有属性“readlines”。还希望以列表格式存储数据。正如我在问题中提到的。道歉
readlines()
不适用于
csv
模块。您可以使用
reader
。将open('lake.csv','a')作为l:reader=csv.writer(l[1,2,3])#虚拟列表[1,2,3]输出为:
csv.writer
是用于写入的对象。请参阅编辑后的回复。您正在编写的列表是虚拟列表。如果你正在写,如果你已经知道你在写什么,这是有意义的。在这个例子中,它是一个虚拟列表。df.to_csv('timepass.csv',index=False)df_new.to_csv(r'timepass.csv',mode='a',header=False),这样你就可以写两次文件了,不需要添加csv文件,不需要csv文件,不需要,以csvby方式覆盖数据,以csvby方式覆盖数据csv@royal如果将路径替换为dataframe1.to_csv(“a,csv”),则a.csv将成为包含所有数据的主csv文件,如果要添加任何其他csv文件,则只需使用新文件更改b.csv即可name@royal如果将路径替换为dataframe1.to_csv(“a,csv”)然后a.csv成为包含所有数据的主csv文件,如果您有任何其他csv文件要添加,只需使用新文件名更改b.csv即可