Python 3.x 尝试在csv文件中实现标头时出错

Python 3.x 尝试在csv文件中实现标头时出错,python-3.x,csv,export-to-csv,Python 3.x,Csv,Export To Csv,我已经成功地将从我读取的行中接收到的数据导出到csv文件中,但是我需要为每一行设置一个标题,以便识别它们。我试过这个: file = open("llistaClients.csv", "w") file.write("ID;NAME;PHONE;EMAIL;STREET;CITY") for row in rows: print(row['id'], row['name'], row['phone'], row['email'], row['street'], row[

我已经成功地将从我读取的行中接收到的数据导出到csv文件中,但是我需要为每一行设置一个标题,以便识别它们。我试过这个:

file = open("llistaClients.csv", "w")
file.write("ID;NAME;PHONE;EMAIL;STREET;CITY")
for row in rows:        
    print(row['id'], row['name'], row['phone'], row['email'], row['street'], row['city'], sep="\t")
    dades = str(row['id']) + ";" + str(row['name']) + ";" + str(row['phone']) + ";" + str(row['email']) \
            + ";" + str(row['street']) + ";" + str(row['city']);
    file.write(dades + "\n")
如果没有此
文件,请编写(“ID;NAME;PHONE;EMAIL;STREET;CITY”)
这一切都能正常工作:

但是如果我尝试使用它,它就无法用Excel打开。但是,如果我用记事本打开同一个文件,它确实应用了这个标题

我有一个潜在的修复方法,可以让我在使用:(其他字段)时毫无问题地放置标题

但是使用这个,我在excel中得到了:

它不会在列之间分隔。。这不坏,但不是它应该怎么做


所以这里的问题是,为什么我不能正确地使用第一种方法?如果第二个是我应该使用的如何分隔列。谢谢。

标题后面必须有一个换行符:

file.write("ID;NAME;PHONE;EMAIL;STREET;CITY\n")
我看不出Excel为什么不打开此文件。你收到错误信息了吗

对于第二个示例,您可以通过在文件开头添加以下内容来告诉Excel使用某个分隔符:

sep=,
id,name,email, ..

似乎您忘记了标题后面的换行符:
file.write(“ID;NAME;PHONE;EMAIL;STREET;CITY\n”)
哦,我试过了,但没有提出问题。也不使用它..:/Excel表示文件的格式和扩展名不同。它给了我放弃和打开的机会,我这样做了,它给了我注册表错误(例如:无法读取注册表70)。然后,如果我放弃它,它将不允许我打开文件。sep=,与命令print一起工作,它是一个实用程序print,与csv内容无关。@Raül但同一个文件(带;sep)在没有标题的情况下可以打开吗?奇怪。@Raül如果Excel将sep=,(或sep=;)视为csv文件的第一行,它将(应该)使用它作为分隔符(尽管从技术上讲,这不是“标准”csv)。不确定您使用命令/实用程序打印的意思。
sep=,
id,name,email, ..