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) 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