Почему я не могу присоединиться к этому кортежу в Python?
Вопрос
e = ('ham', 5, 1, 'bird')
logfile.write(','.join(e))
Я должен присоединиться к нему, чтобы я мог записать его в текстовый файл.
Решение
join
принимает только списки строк, поэтому сначала преобразуйте их
>>> e = ('ham', 5, 1, 'bird')
>>> ','.join(map(str,e))
'ham,5,1,bird'
Или, может быть, более питонический
>>> ','.join(str(i) for i in e)
'ham,5,1,bird'
Другие советы
join ()
работает только со строками, а не с целыми числами. Используйте ','. Join (str (i) для 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 = ('ветчина', 5, 1, 'птица')
liste = list (e)
''. Присоединиться (Liste) код>
Не связан с StackOverflow