1

dataデータ内の項目が長さの異なる 2 つのリストである csvにエクスポートしようとしています。

import csv

item_dictionary = {'13742': 'cat', '25037':'dog'}
names = item_dictionary.values()

data = [[1, 2, 3, 4, 5, 6], [7, 8, 9, 10]]

export_data = zip(*data)

myfile = open('sample.csv', 'wb')
wr = csv.writer(myfile)
wr.writerow(names)
wr.writerows(export_data)
myfile.close()

これにより、 の 5 と 6 を除外したこの出力が得られますdata[0]

dog  cat
1    7
2    8
3    9
4    10

私が欲しいのはこれです:

dog  cat
1    7
2    8
3    9
4    10
5
6

data[0]の長さに制限されずにのすべての値を含むようにコードを修正するにはどうすればよいdata[1]ですか?

4

1 に答える 1

5

実際、zip最短の iterable の最後に到達したところで停止します。 itertools.izip_longestは、最長の iterable の最後まで zip したい場合に使用する関数です。

import itertools
export_data = itertools.izip_longest(*data, fillvalue = '')
于 2012-11-01T22:20:15.673 に答える