是否可以将以下两个语句合并为一个语句?
f.write(",".join(str(cell) for cell in row))
f.write("\n")
答案 0 :(得分:2)
只需将join
的结果与'\n'
f.write(",".join(str(cell) for cell in row) + '\n')
答案 1 :(得分:2)
使用字符串格式化:
f.write("{}\n".format(",".join(str(cell) for cell in row)))
注意这比其他大多数方法要慢得多,包括根据OP进行的两次单独写入,以及较旧(不推荐使用)的字符串格式(例如f.write("%s\n", ...)
。 / p>
答案 2 :(得分:1)
为什么重新发明轮子? The csv
module会为您执行此操作:
import csv
rows = [['foo', 1, 2], ['bar', 3, 4]]
with open("filename.csv", "w") as f:
writer = csv.writer(f)
writer.writerows(rows)
答案 3 :(得分:0)
或者,您可以使用我的包装库pyexcel
:
import pyexcel
rows = [['foo', 1, 2], ['bar', 3, 4]]
w = pyexcel.Writer("file.csv")
w.write_rows(rows)
w.close()
文档为here