示例:用Python写入csv文件
with open('StockPrice.csv', 'wb') as f:
为什么我们需要二进制打开csv文件?
这只是习惯,还是有一个用例,当二进制文件是必要的csv文件?
在Windows上使用csv
模块写入输出时必须使用模式"wb"
,因为csv
模块将将行尾写入rn
,无论您在哪个平台上运行
如果你在Windows上运行,并且你有一个以模式"w"
打开的文件,Python将在每次你写换行符时添加一个额外的回车符。因此,如果您使用模式为"w"
的文件使用csv
模块编写输出,那么您最终将获得rrn
行结束符,因为Python和csv
模块都添加了回车字符。
下面是一个演示结果的快速程序。请注意,我们以二进制模式("rb"
)读取文件,以防止Python在读取文件时将rn
替换为n
:
import csv
with open("output.csv", "w") as f:
w = csv.writer(f)
w.writerow([1,2,3,4])
w.writerow([5,6,7,8])
with open("output.csv", "rb") as f:
print repr(f.read())
当我在Windows上运行此命令时,我得到以下输出:
'1,2,3,4rrn5,6,7,8rrn'