如何在将元组列表导出到TSV时删除方括号和引号

2024-10-04 11:29:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一份清单,打印出来后,看起来像:

[(('1321', '01'), ('MessageXZY', '02'), ('DescriptionSKS', '03'), ('S7_6', '04'), ('S7_3', '05')), (('0A3B', '06'), ('MessageZYA', '07'), ('DescriptionKAM', '08')), (('9K44', '09'), ('MessageYAL', '10'), ('DescriptionAUS', '11'), ('S7_2', '12'))]

使用以下代码导出时:

^{pr2}$

我在text/TSV文件中得到了以下内容:

('1321', '01')  ('MessageXZY', '02')    ('DescriptionSKS', '03')    ('S7_6', '04')  ('S7_3', '05')
('0A3B', '06')  ('MessageZYA', '07')    ('DescriptionKAM', '08')
('9K44', '09')  ('MessageYAL', '10')    ('DescriptionAUS', '11')    ('S7_2', '12')

期望输出:

1321, 01     MessageXZY, 02     DescriptionSKS, 03     S7_6, 04     S7_3, 05
0A3B, 06     MessageZYA, 07     DescriptionKAM, 08
9K44, 09     MessageYAL, 10     DescriptionAUS, 11     S7_2, 12

我不想在条目中搜索并删除'),因为我的实际字符串合法地包含了这个组合。我该怎么做才能让csv.writer()不写这些字符?在


Tags: 文件字符串代码texttsv条目合法s7
2条回答

代替

    tsv_out.writerow(row)

给予

^{pr2}$

你可以在写之前把它们组合在一起:

import csv

grouped_tuples = [(('1321', '01'), ('MessageXZY', '02'), ('DescriptionSKS', '03'), ('S7_6', '04'), ('S7_3', '05')), (('0A3B', '06'), ('MessageZYA', '07'), ('DescriptionKAM', '08')), (('9K44', '09'), ('MessageYAL', '10'), ('DescriptionAUS', '11'), ('S7_2', '12'))]

with open('HTML to TSV.tsv','w', encoding='ISO-8859-1', newline='') as out:
    tsv_out = csv.writer(out, delimiter="\t")

    for row in grouped_tuples:
        tsv_out.writerow(', '.join(pair) for pair in row)

给你:

^{pr2}$

相关问题 更多 >