簡體   English   中英

Python - 字典與 arrays 到 csv 文件

[英]Python - Dictionary with arrays to csv file

我有一個字典,其中有四個鍵,每個鍵指向一個數組:

import pandas as pd
import csv

complete = {'average': ['a1', 'a2', 'a3', 'a4'], 'hard': ['h1', 'h2', 'h3', 'h4','h5'], 'easy': ['e1', 'e2', 'e3', 'e4','e5','e6'], 'difficult': ['d1', 'd2', 'd3', 'd4','d5','d6','d7']}

df = pd.DataFrame(complete,orient='index').to_csv('out.csv')
df.transpose()

如何將此字典寫入 csv 文件,其中鍵代表一列 header,而 arrays 將填充下面的相應列。

average | hard | easy | difficult |
a1      | h1   | e1   | d1        |
a2      | h2   | e2   | d2        |
a3      | h3   | e3   | d3        |
a4      | h4   | e4   | d4        |
        | h5   | e5   | d5        |
               | e6   | d6        |
                      | d7        |

如您所知,我嘗試使用 pandas 和 csv 庫。 不知道我做錯了什么,但這段代碼產生了以下 output:

TypeError: __init__() got an unexpected keyword argument 'orient'

您可以為字典中的每個鍵、值對創建一個 DataFrame 列表complete ,然后使用pd.concat

import pandas as pd

complete = {'average': ['a1', 'a2', 'a3', 'a4'],
            'hard': ['h1', 'h2', 'h3', 'h4', 'h5'],
            'easy': ['e1', 'e2', 'e3', 'e4', 'e5', 'e6'],
            'difficult': ['d1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7']}


df = [pd.DataFrame({ k : v }) for k, v in complete.items()]

df = pd.concat(df, axis=1)
print(df)

Output

  average hard easy difficult
0      a1   h1   e1        d1
1      a2   h2   e2        d2
2      a3   h3   e3        d3
3      a4   h4   e4        d4
4     NaN   h5   e5        d5
5     NaN  NaN   e6        d6
6     NaN  NaN  NaN        d7

DataFrame 可以通過執行以下操作保存到 csv 文件中:

df.to_csv('output.csv', index=False) 

此處查看有關to_csv的文檔

你的命令

df = pd.DataFrame(complete,orient='index').to_csv('out.csv')

缺少from_dict

df = pd.DataFrame.from_dict(complete, orient='index').transpose()
df.to_csv('out.csv')

另請參閱此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM