python面向对象思想用walk访问路径下所有的excel文件,读取sheet_name=“结论认同表”的内容,先把单元格的内容转成字符串,再合并到一个excel文件下进行输出
时间: 2024-03-27 18:40:59 浏览: 175
好的,针对你的问题,我可以给你提供以下代码作为参考:
```python
import os
import pandas as pd
class ExcelWalker:
def __init__(self, root_dir):
self.root_dir = root_dir
def walk(self):
for root, _, files in os.walk(self.root_dir):
for file in files:
if file.endswith('.xlsx') or file.endswith('.xls'):
file_path = os.path.join(root, file)
try:
df = pd.read_excel(file_path, sheet_name='结论认同表')
df = df.applymap(str)
if 'merged_df' not in locals():
merged_df = df
else:
merged_df = pd.concat([merged_df, df], ignore_index=True)
except:
pass
merged_df.to_excel('merged.xlsx', index=False, sheet_name='结论认同表')
if __name__ == '__main__':
walker = ExcelWalker('.')
walker.walk()
```
你只需要把 `ExcelWalker` 类的 `root_dir` 参数改成你想要遍历的文件夹路径即可。这段代码会遍历该文件夹路径下的所有 excel 文件,并且读取名为“结论认同表”的 sheet,将单元格内容全部转换为字符串并合并到一个 DataFrame 中,最后输出到名为 `merged.xlsx` 的文件中。
阅读全文