[英]Write to CSV a List of Tuples of Lists
我有以下變量:
data = [(['a', 'b', '3'], ['c', 'a', 'r']),
(['*', '[', 'e'], ['33', 'gh', 'ew']),
(['23^', 're#', '4$'], ['tr', 'fF', '5%'])]
我想將data
寫入 CSV 文件,如下所示:
a c
b a
3 r
* 33
[ gh
e ew
23^ tr
re# fF
4$ 5%
請注意,在每次迭代之后,我之間都有一個黑色空間。
我試過了:
import csv
with open ('train.csv', 'w') as out:
writer = csv.writer(out)
for row in dataset:
writer.writerows(row)
但不能正常工作。
由於此格式不符合 CSV 規則,您可以使用常規字符串格式來編寫行。 一個技巧是處理空行分隔符。 假設您不想在 output 文件的底部出現額外的空白行,您可以獲得一點創意。 在寫每組之前寫下分隔符,但以一個空白字符串開頭,並在第一次寫后將其切換為真正的分隔符。
data = [(['a', 'b', '3'], ['c', 'a', 'r']),
(['*', '[', 'e'], ['33', 'gh', 'ew']),
(['23^', 're#', '4$'], ['tr', 'fF', '5%'])]
with open("test.txt", "w") as file:
group_sep = "" # group separator written first to avoid extra blank
# line at end of file.
for group1, group2 in data:
file.write(group_sep)
group_sep = "\n"
for cell1, cell2 in zip(group1, group2):
file.write(f"{cell1} {cell2}\n")
這應該可以完成。
data = [(['a', 'b', '3'], ['c', 'a', 'r']),
(['*', '[', 'e'], ['33', 'gh', 'ew']),
(['23^', 're#', '4$'], ['tr', 'fF', '5%'])]
with open('train.txt','w') as f:
for x in [tuple(zip(x[0],x[1])) for x in data]:
for r in x:
f.write(' '.join(r) + '\n')
f.write('\n')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.