当前位置:   article > 正文

利用python批量遍历多个Excel表格文件中指定内容并汇总_python sheet一次性获取全部数据

python sheet一次性获取全部数据

工作中的一个问题,有一个文件夹,存在多个子文件夹,每个文件夹中还有多个Excel表格文件,每个表格文件还有多个sheet,需要从每个sheet中读取多个指定单元格的内容并汇总到一个表格中。上网搜索一下,利用Python的pandas模块可以快速实现。openpyxl也可以,不过为了快速,优先采用了能快速搜到使用pandas模块的成形代码。

简单修改别人代码,实现如下。

  1. import os
  2. import pandas as pd
  3. # 要读取表格文件的目录
  4. or_path = "D:/xlsx"
  5. # 读取结果保存目录
  6. re_path = "D:/results"
  7. result_df = pd.DataFrame()
  8. # 因为这个例子里,Excel文件独立在不同文件夹中,所以需要遍历所有子目录
  9. for root, dirs, files in os.walk(or_path):
  10. for file in files:
  11. # 只处理指定文件
  12. if !file.endswith(".xlsx"):
  13. continue
  14. read_xls = pd.ExcelFile(os.path.join(root, file))
  15. # 例子中,每个文件有多个sheet,需要遍历每个sheet
  16. for sheetname in read_xls.sheet_name:
  17. # 通过sheet名字读取表格内容
  18. df = read_xls.parse(sheetname, header=None)
  19. # 通过values函数可以读取单元格内容
  20. # 通过Data函数可以构建表格
  21. read_df = pd.Data({'name':[df.values[2, 1]], 'age':[df.values[3, 1]]})
  22. # 拼接表格
  23. result_df = pd.concat([result_df, read_df])
  24. # 输出汇总到文件
  25. result_df.to_csv(os.path.join(re_path, "result.csv"), index = false)

代码不长,却能实现很多功能,包括遍历搜索多个子文件夹、遍历文件中每个sheet表格,把文件夹名称和sheet名写入文件也很容易实现,经测试没有问题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/768675
推荐阅读
相关标签
  

闽ICP备14008679号