当前位置:   article > 正文

python pandas excel文件如何一次性读取全部sheet,并重新一次性写入多个sheet?_pandas excel文件所有表

pandas excel文件所有表

关于如何一次性读取全部sheet,可看我之前写的一篇博客
本文重点讲述如何对同一个excel文件一次性写入多个sheet数据
代码示例:
  

  1.  import pandas as pd
  2.     writer = pd.ExcelWriter("新数据.xlsx")
  3.     sheet1Data = [] # 这个为要向Sheet1写入的数据
  4.     pd_look1 = pd.DataFrame(sheet1Data)
  5.     pd_look1.to_excel(writer, sheet_name="Sheet1")
  6.     sheet2Data = [] # 这个为要向Sheet2写入的数据
  7.     pd_look2 = pd.DataFrame(sheet2Data)
  8.     pd_look2.to_excel(writer, sheet_name="Sheet2")
  9.     # 最后保存写入,并释放    
  10.     writer.save()
  11.     writer.close()

查看结果:

以上说明是确实生成了两个sheet,说明已实现。

 

完整代码如下:

  1. import pandas as pd
  2. # 读取excel 某个sheet下的数据,将其转化为列表数据,方便操作
  3. def get_excel_sheet_data(filename, sheetname):
  4. try:
  5. df = pd.read_excel(filename, sheet_name=sheetname)
  6. dataList = df.to_dict(orient='records') # 转换为列表
  7. return dataList
  8. except:
  9. print('未能打开此文件,请确认文件名及路径是否正确')
  10. return []
  11. # 读取excel 所有sheet表名,并将其转化为列表返回
  12. def get_excel_sheet_list(filename):
  13. try:
  14. df = pd.read_excel(filename, sheet_name=None)
  15. return df.keys()
  16. except Exception as e:
  17. print(e)
  18. return []
  19. if __name__ == '__main__':
  20. fileName = '数据.xlsx'
  21. sheetList = get_excel_sheet_list(fileName) # 获取sheet列表
  22. print(sheetList)
  23. writer = pd.ExcelWriter("新数据.xlsx")
  24. for i in sheetList: #遍历每个sheet名称
  25. sheetData = get_excel_sheet_data(fileName, i) # 读取每个sheet下的数据
  26. for j in sheetData: #取出每一项的数据
  27. # do something
  28. # 依次根据sheet名称对“新数据.xlsx”此文件多次写入Sheet
  29. pd_look = pd.DataFrame(sheetData)
  30. pd_look.to_excel(writer, sheet_name=i)
  31. # 最后保存写入,并释放
  32. writer.save()
  33. writer.close()

如有帮助,记得点赞三连~

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号