3 回答

TA貢獻1825條經(jīng)驗 獲得超6個贊
您可以zip在解壓 dict 值后使用:
with open('text.csv', 'w') as f:
writer = csv.writer(f, delimiter='\t')
writer.writerows(zip(*d.values()))

TA貢獻1820條經(jīng)驗 獲得超9個贊
如果您愿意使用 Pandas,那將相當簡單。我還建議不要dict用作變量名,因為它是一個內(nèi)置函數(shù)。
import pandas as pd
arr_dict = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}
pd.DataFrame(arr_dict).to_csv('test.csv', index=False, sep='\t')
如果數(shù)組的長度不同,則您必須更有創(chuàng)意。這篇文章中有很多例子,其中一個在這里:
pd.DataFrame.from_dict(arr_dict, orient='index').T

TA貢獻1789條經(jīng)驗 獲得超10個贊
您可以從這里修改,然后將輸出寫入文件。我相信有更清潔的方法可以做到這一點,但這可以滿足您的要求。盡管這假設(shè)行的長度都相同。如果所有列都沒有數(shù)據(jù),則不會產(chǎn)生所需的輸出。
# data in
dict = {'a':[1,2,3],
'b':[4,5,6],
'c':[7,8,9]}
cols = []
for k, v in dict.items():
cur_col = 0
for i in v:
try:
cols[cur_col].append(str(i))
cur_col += 1
except IndexError as e:
cols.append([str(i)])
cur_col +=1
cur_col = 0
for row in cols:
print("\t".join(row))
輸出:
1 4 7
2 5 8
3 6 9
添加回答
舉報