我有一份表格清单
lssample=[ [ [A,B],[C] ] ,[ [D],[E,F] ],[ [G,H],[I] ]]
将其写入表单中的文件的最有效方法是什么?
A,B : C
D: E,F
G,H : I
请注意,长度对于子列表是任意的.以下代码仅以其形式写入列表(带括号).是否有一种pythonic方式将其写入文件?
with open("output1.csv", "wb") as f:
writer = csv.writer(f)
writer.writerows(lssample)
解决方法:
这似乎是一个非常简单的格式,只需滚动你自己的作家,如:
In [2]: data = [[['A','B'], ['C']], [['D'],['E','F']], [['G','H'], ['I']]]
In [3]: import io
In [4]: with io.StringIO() as f:
...: for record in data:
...: left, right = map(",".join, record)
...: f.write(f"{left} : {right}\n")
...: final = f.getvalue()
...:
In [5]: print(final)
A,B : C
D : E,F
G,H : I
注意,io.StringIO只是一个内存缓冲区,其作用类似于文件,以便于说明.你会这样做:
with open("output1.txt", "w") as f:
...
当然,您不需要final = f.getvalue().另外,我使用的是Python 3.6 f-strings.如果你没有,你可以使用:
f.write("{} : {}".format(left, right)
标签:python