在python中写入csv文件并使用列名读取它

时间:2017-09-14 03:56:07

标签: python csv

虽然我已经写了这段代码

import csv
    with open('persons.csv', 'w') as csvfile:
        filewriter = csv.writer(csvfile, delimiter=',',quotechar='|')
        filewriter.writerow(['Name', 'Profession'])
        filewriter.writerow(['Derek', 'Software Developer'])
        filewriter.writerow(['Steve', 'Software Developer'])
        filewriter.writerow(['Paul', 'Manager'])

我的结果是

['Name', 'Profession']
[]
['Derek', 'Software Developer']
[]
['Steve', 'Software Developer']
[]
['Paul', 'Manager']
[]
它在两者之间划了一条线。 如何解决?

还有一件事我想用csv从列名中读取数据,即

import csv
with open('persons.csv') as f:
    reader = csv.reader(f)


    for Name, Profession in reader:
        print(Name, Profession)

- 当我运行此代码时,它显示错误..

 for Name, Profession in reader:
ValueError: not enough values to unpack (expected 2, got 0)

请建议它如何运作

1 个答案:

答案 0 :(得分:1)

with open('persons.csv', 'w', newline='') as csvfile: 默认将\ r \ n写入文件。如果您运行的是Windows

,请使用以下命令打开该文件
{{1}}

一旦你有了这个,空行就会消失

第二个问题是由于第一个问题。由于您有空行,因此读者对这些行有0项,因此也是例外。