【问题标题】:Write dictionary of dataframes to separate excel sheets编写数据框字典以分隔 Excel 工作表
【发布时间】:2019-12-04 04:19:44
【问题描述】:

我有一个字典,其中包含“data.csv”中每个状态的数据框。

df=pd.read_csv('data.csv')

dict_of_st = {k: v for k, v in df.groupby('Preferred State/Province')}

我想将每个数据框写入已存在的工作簿(“test.xlsx”)中的单独 Excel 表中。

我尝试使用 for 循环和load workbook

from openpyxl import load_workbook

book = load_workbook('test.xlsx')
writer = pd.ExcelWriter('test.xlsx', engine='openpyxl') 
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

for i in dict_of_st:
    i.to_excel(writer, sheet_name=i)

writer.save()

但是 jupyter notebook 会引发这个错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-8-c1ba1b4d53d8> in <module>
      7 
      8 for i in dict_of_st:
----> 9     i.to_excel(writer, sheet_name=i)
     10 
     11 writer.save()

AttributeError: 'str' object has no attribute 'to_excel'

【问题讨论】:

    标签: python excel pandas dictionary


    【解决方案1】:

    for x in some_dict 遍历键。您应该显式地遍历返回键值对的items()

    for df_name, df in dict_of_st.items():
        df.to_excel(writer, sheet_name=df_name)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-14
      • 1970-01-01
      • 2020-12-23
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      相关资源
      最近更新 更多