[英]Need to export multiple dicts of dataframes to Excel based on a common key
我希望從獨立的數據集中創建幾個數據框,然后根據通用鍵將所有數據框導出到Excel。 我將擁有各種各樣的數據框,其中的許多鍵(人員)具有不同的列結構,最后,我想為每個人使用一個文件,並把適用於每個數據框的所有數據框。
我經常對一個數據框進行此操作,方法是進行修改,創建數據框字典,然后根據該字典的鍵進行導出。 我使用的代碼如下所示:
dfs = dict(tuple(df1.groupby('Key')))
for k, v in dfs.items():
writer = ExcelWriter(k + '.xlsx')
v.to_excel(writer, sheet_name='View 1', index=False)
我嘗試使用以下代碼對兩個字典執行相同的操作:
dfs = dict(tuple(df1.groupby('Key')))
dfs_2 = dict(tuple(df2.groupby('Key')))
for k, v in dfs.items():
writer = ExcelWriter(k + '.xlsx')
v.to_excel(writer, sheet_name='View 1', index=False)
for k, v in dfs_2.items():
v.to_excel(writer, sheet_name='View 2', index=False)
此代碼在Excel中為我提供了兩個選項卡。 但是,只有第一個出口正確。 第二個是我要查找的數據框,但數據不匹配。 它不僅不匹配第一個字典的鍵,而且似乎也不匹配第二個字典中的任何單個鍵。
我還嘗試了以下代碼:
dfs = dict(tuple(df1.groupby('Key')))
dfs_2 = dict(tuple(df2.groupby('Key')))
for k, v in dfs.items():
writer = ExcelWriter(k + '.xlsx')
v.to_excel(writer, sheet_name='View 1', index=False)
for k in dfs.items, v in dfs_2.items():
v.to_excel(writer, sheet_name='View 2', index=False)
這段代碼為我提供了在Excel文件的兩個選項卡上正確導出的第一個數據框。
我該如何解決? 我遇到的問題是:
I)匹配密鑰並正確導出文件
II)處理不同數據幀中丟失的密鑰(即,並非所有密鑰都將在所有數據幀中,並且包含在其中的密鑰將定期更改)。
當前,您沒有關聯任何詞典的鍵。 考慮采用這樣的條件if
邏輯,將其中一個for
迭代:
dfs = dict(tuple(df1.groupby('Key')))
dfs_2 = dict(tuple(df2.groupby('Key')))
for k, v in dfs.items():
writer = ExcelWriter(k + '.xlsx')
v.to_excel(writer, sheet_name='View 1', index=False)
# CHECK IF KEY EXISTS IN SECOND DICT AND CONDITIONALLY EXPORT ITEM VALUE
if k in dfs_2:
dfs_2[k].to_excel(writer, sheet_name='View 2', index=False)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.