虽然我已经写了这段代码
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)
请建议它如何运作
答案 0 :(得分:1)
with open('persons.csv', 'w', newline='') as csvfile:
默认将\ r \ n写入文件。如果您运行的是Windows
{{1}}
一旦你有了这个,空行就会消失
第二个问题是由于第一个问题。由于您有空行,因此读者对这些行有0项,因此也是例外。