Почему я не могу присоединиться к этому кортежу в Python?

StackOverflow https://stackoverflow.com/questions/1815316

  •  06-07-2019
  •  | 
  •  

Вопрос

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)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top