我有一个包含字符串整数和浮点数的列表.我想将它转换为字符串并将其保存到文件(CSV格式) - 我不想手动转换每个字段 - 但我也不想使用CSV解析模块,因为它对于快速和脏的脚本来说太重了其格式永不改变.
这样做的pythonic方法是什么?"".join()"模式"失败,因为列表包含非字符串成员.
我也不想使用CSV解析模块,因为它对于快速和脏的脚本来说太重了
真的,成本是多少?几毫秒的运行时间,还是几分钟的开发时间?
其格式永不改变
那是无关紧要的.您有需要转义,引用,格式化等的数据.未来数据本身是否会发生变化,即使格式没有?无论如何,您最终都会重新发明CSV模块中的变通方法,但可能并不全面.
import csv
data_row = [1, 2.0, "three", "pi,plus,one"]
# Assuming Python 2.x
# ...in Python 3 use text mode: open("...", 'w', newline='')
with open("datafile.csv", 'wb') as datafile:
datawriter = csv.writer(datafile)
datawriter.writerow(data_row)
Run Code Online (Sandbox Code Playgroud)
使用这种join方法会缩短一行 - 假设你不需要自己进行转义,等等.
(有关文件打开模式背后的原因,请参阅CSV编写器文档和此答案.)