从python生成的文件中删除逗号
我必须写一个文件,每行一个名字。我用以下方法列出了一份清单:从python生成的文件中删除逗号,python,python-3.x,Python,Python 3.x,我必须写一个文件,每行一个名字。我用以下方法列出了一份清单: names = [('a', '1\n'), ('b', '2\n'), ('c', '3\n'), ('d', '4\n')] names = list(itertools.chain(*names)) 结果是: ['a', '1\n', 'b', '2\n', 'c', '3\n', 'd', '4\n'] 在这之后,我做了: separated_names = ', '.join(names) 要从列表中删除字符串,结果
names = [('a', '1\n'), ('b', '2\n'), ('c', '3\n'), ('d', '4\n')]
names = list(itertools.chain(*names))
结果是:
['a', '1\n', 'b', '2\n', 'c', '3\n', 'd', '4\n']
在这之后,我做了:
separated_names = ', '.join(names)
要从列表中删除字符串,结果是:
'a', '1'
, 'b', '2'
, 'c', '3'
, 'd', '4'
问题是每行开头的逗号。我需要的输出形式如下:
'a', '1'
'b', '2'
'c', '3'
'd', '4'
有没有简单的方法可以做到这一点?试试:
>>> names = [('a', '1\n'), ('b', '2\n'), ('c', '3\n'), ('d', '4\n')]
>>> print(''.join('%s, %s' % line for line in names))
a, 1
b, 2
c, 3
d, 4
另一方面,如果您确实希望单引号出现在输出中:
>>> print('\n'.join("'%s', '%s'" % (a, b.strip()) for a, b in names))
'a', '1'
'b', '2'
'c', '3'
'd', '4'
您的数据结构是一个事物和另一个事物之间的映射,因此您应该使用字典:
names = {'a': '1', 'b': '2', 'c': '3', 'd': '4'}
然后,您可以迭代字典的项以写入文件:
with open('my_file.txt', 'w') as f:
for key, value in names.items():
f.write('{}, {}'.format(key, value))
names = [('a', '1\n'), ('b', '2\n'), ('c', '3\n'), ('d', '4\n')]
archive_out = open("output.txt", 'w')
for line in names:
archive_out.write(str(", ".join(line)))
archive_out.close()