我试图通过以下内容写入csv文件
file = open('P:\test.csv', 'a')
fieldnames = ('ItemID', 'Factor', 'FixedAmount')
wr = csv.DictWriter(file, fieldnames=fieldnames)
headers = dict((n, n) for n in fieldnames)
wr.writerow(headers)
wr.writerow({'ItemID':1, 'Factor': 2, 'FixedAmount':3})
Run Code Online (Sandbox Code Playgroud)
但是,当我查看csv文件时,第一行是空的,第二行是我的标题,第三行是空的,第四行显示条目1,2和3.为什么它>之前跳过一行它进入了吗?
编辑:使用python 3.2
Lan*_*aru 38
解决方案是在构造函数中指定"lineterminator"参数:
file = open('P:\test.csv', 'w')
fields = ('ItemID', 'Factor', 'FixedAmount')
wr = csv.DictWriter(file, fieldnames=fields, lineterminator = '\n')
wr.writeheader()
wr.writerow({'ItemID':1, 'Factor': 2, 'FixedAmount':3})
file.close()
Run Code Online (Sandbox Code Playgroud)
二十个quatloos说你在windows下运行(好吧,一百个,因为你的文件被调用P:\test.csv).你可能得到额外的\rs.
[编辑]
好的,因为使用二进制模式会导致其他问题,这个怎么样:
file = open('P:\test.csv', 'w', newline='')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29559 次 |
| 最近记录: |