Python 为什么我的硬编码数据没有写入文件?

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"] //

对于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"]

    //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)