将嵌套的数字和字符串列表导出为制表符分隔的文件
我刚开始学习Python,现在遇到一个问题,就是想把一个用制表符分隔的文件写到我服务器上的一个目录里。我有一个嵌套列表,大约有90行和900列。
我想把这个列表写成一个制表符分隔的文件,但我不知道该怎么做。
下面是我修改过的列表的一个示例(实际上要大得多):
sample_l=open(sample.txt, "r")
sample_l经过一个复杂的脚本进一步修改,生成了sample_mod。
sample_mod=[['age', 1, 'births', 2], ['cars',3,'foods',4],['set', 10, 'grm', 6]]
我该如何创建一个看起来像这样的制表符分隔文本文件呢?
$ less sample_mod.txt
age 1 births 2
cars 3 foods 4
smoke 10 grams 6
我试过下面的代码,但它是错误的,因为这个嵌套列表里包含了整数和字符串:
with open('sample.txt', 'w') as file:
file.writelines('\t'.join(i) + '\n' for i in sample_mod)
3 个回答
0
你也可以先把整数转换成字符串。可以看看这个页面:http://www.daniweb.com/software-development/python/threads/93655
1
使用csv
模块,并选择合适的Dialect
(方言)。
3
使用 csv模块,选择 excel-tab
这种格式:
>>> import csv
>>> with open('sample.txt', 'w') as f:
... w = csv.writer(f, dialect = 'excel-tab')
... w.writerows(sample_mod)
...
当我用你的 sample_mod
列表运行这段代码后,'sample.txt' 文件里包含了:
age 1 births 2
cars 3 foods 4
set 10 grm 6
这就是我们想要的结果。