簡體   English   中英

為什么我不能在Python中加入該元組?

[英]Why can't I join this tuple in Python?

e = ('ham', 5, 1, 'bird')
logfile.write(','.join(e))

我必須加入它,以便可以將其寫入文本文件。

join只接受字符串列表,因此請先進行轉換

>>> 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()僅適用於字符串,不適用於整數。 ','.join(str(i) for i in e)使用','.join(str(i) for i in e)

您可能最好先簡單地將元組轉換為列表:

e = ('ham', 5, 1, 'bird') liste = list(e) ','.join(liste)

使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM