Ответ 1
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'
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)
.
Используйте модуль 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)