Python 为什么我的硬编码数据没有写入文件?
对于csv.reader(csv\u文件)中的行,我收到此错误“:Python 为什么我的硬编码数据没有写入文件?,python,csv,Python,Csv,对于csv.reader(csv\u文件)中的行,我收到此错误“: “我真的不明白它的意思 如果有输入错误,应使用newRow,而不是csvFile,下面的固定代码: def write_to_csv(): newRow = ['P12467','Cat','Ancora','Yes','Yes','D123456','Lost','14/09/2019','30/09/2019','return to owner',"290 Oak Avenue, BS79 8TR"] //
“我真的不明白它的意思 如果有输入错误,应使用newRow,而不是csvFile,下面的固定代码:
def write_to_csv():
newRow = ['P12467','Cat','Ancora','Yes','Yes','D123456','Lost','14/09/2019','30/09/2019','return to owner',"290 Oak Avenue, BS79 8TR"]
//with open('DADSA 2019-20 CWK A DATA PETS.csv', 'wb') as csv_file:
with open("DADSA 2019-20 CWK A DATA PETS.csv", mode="a", newline='') as csv_file:
# reader = csv.reader(csv_file)
writer = csv.writer(csv_file)
for row in csv.reader(csv_file):
if row[0] == newRow[0]:
writer.writerow(newRow)
您无法读取在
a
模式下打开的文件。这是用于附加到文件的。您可以使用a+
模式,但首先需要查找文件的开头
但是,如果只想添加新行,则不需要首先读取文件。只需打开文件并写入新行
def write_to_csv():
newRow = ['P12467','Cat','Ancora','Yes','Yes','D123456','Lost','14/09/2019','30/09/2019','return to owner',"290 Oak Avenue, BS79 8TR"]
#with open('DADSA 2019-20 CWK A DATA PETS.csv', 'wb') as csv_file:
with open("DADSA 2019-20 CWK A DATA PETS.csv", mode="a", newline='') as csv_file:
# reader = csv.reader(csv_file)
writer = csv.writer(csv_file)
for row in csv.reader(newRow):
if row[0] == newRow[0]:
writer.writerow(newRow)
您正在以模式打开文件,该模式仅用于写入。为什么要读取文件?是否要替换文件中的现有行?您不能这样做。我正在尝试向文件中添加新记录。这将如何修复他试图从仅在追加模式下打开的流中读取的错误?
def write_to_csv():
newRow = ['P12467','Cat','Ancora','Yes','Yes','D123456','Lost','14/09/2019','30/09/2019','return to owner',"290 Oak Avenue, BS79 8TR"]
with open("DADSA 2019-20 CWK A DATA PETS.csv", mode="a", newline='') as csv_file:
writer = csv.writer(csv_file)
writer.writerow(newRow)