将嵌套的数字和字符串列表导出为制表符分隔的文件

1 投票
3 回答
2812 浏览
提问于 2025-04-17 12:33

我刚开始学习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

这就是我们想要的结果。

撰写回答