簡體   English   中英

需要基於公共密鑰將數據幀的多個字典導出到Excel

[英]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.

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