为什么我不能在Python中join这个元组?
e = ('ham', 5, 1, 'bird') logfile.write(','.join(e))
我必须join它才能将其写入文本文件。
join
只需要string列表,所以先转换它们
>>> e = ('ham', 5, 1, 'bird') >>> ','.join(map(str,e)) 'ham,5,1,bird'
或者也许更pythonic
>>> ','.join(str(i) for i in e) 'ham,5,1,bird'
join()
只能用于string,而不能用整数。 使用','.join(str(i) for i in e)
。
使用csv
模块。 它会保存一个关于如何处理包含逗号的项目的后续问题,接下来是关于处理包含您用来引用/转义逗号的字符的项目。
import csv e = ('ham', 5, 1, 'bird') with open('out.csv', 'wb') as f: csv.writer(f).writerow(e)
核实:
print open('out.csv').read()
输出:
ham,5,1,bird
首先简单地将元组转换为列表可能会更好:
e = ('ham', 5, 1, 'bird') liste = list(e) ','.join(liste)