1
the_list = [['a','b','c'],['b','c','d'],['c','d','e']]
output = []
for k in the_list:
    output.append(str(k)[1:-1].replace(',',"\t").replace("'",'').replace(' ',''))

print output
#['a\tb\tc', 'b\tc\td', 'c\td\te']
#for line in output:
    #out_file.write(line + '\n')

I'm trying to get the list into tab-delmited format so i can write to an .xls file but the only way i could figure out how to do it seemed pretty monotonous . I was wondering if anyone knew a quicker, more efficient, and more 'pythonic' way of writing a list to an .xls

4

4 に答える 4

1

リスト内包表記を使用して、探しているフォーマットを実現できます

output = ["\t".join(a) for a in the_list]

joinに関する python のドキュメントを参照してください。

于 2013-10-10T20:07:22.147 に答える
0

タブで区切られた変数または csv を使用するとうまくいくことがよくありますが、UTF-8 が必要な場合は失敗することが予想されます。ASCII の範囲を超えると、予期した文字は表示されません。

saxman01 の参考文献に記載されている実際の Excel 製品を試したことはありませんが、対象が実際に Excel である場合は、より適している可能性があります。彼らは他の文字セットを扱いますか? 国際化する必要がある場合 (または、英語を話さない聴衆に対して国内でさえも) を検討する必要があります。

では、Google ドキュメントで何ができるのだろうかと自問することもできます。

于 2013-10-10T20:29:58.397 に答える
0

XLS に書き込む必要がある場合は、次の回答を使用します。

Python - Excel スプレッドシートに書き込む

于 2013-10-10T20:11:25.277 に答える