pandas对同一个文件夹里的excel表格进行批量处理
时间: 2023-10-20 20:08:05 浏览: 239
基于C#语言对文件夹下所有Excel文件进行批处理
可以使用`os`模块和`pandas`模块来对同一个文件夹里的excel表格进行批量处理。
首先,需要使用`os`模块获取到该文件夹下的所有excel文件的文件名。可以使用`os.listdir()`函数来获取文件夹下的文件名列表,然后使用`filter()`函数筛选出以`.xlsx`或`.xls`结尾的文件名。
```python
import os
folder_path = 'path/to/folder'
file_names = os.listdir(folder_path)
excel_files = filter(lambda x: x.endswith('.xlsx') or x.endswith('.xls'), file_names)
```
接下来,就可以使用`pandas`模块读取每个excel表格,进行批量处理了。可以使用`pandas.read_excel()`函数读取excel表格,并对表格进行处理,然后使用`pandas.to_excel()`函数将处理后的表格保存到原文件中或另存为一个新文件。
```python
import pandas as pd
for file_name in excel_files:
file_path = os.path.join(folder_path, file_name)
# 读取excel表格
df = pd.read_excel(file_path)
# 对表格进行处理
# ...
# 保存处理后的表格
df.to_excel(file_path, index=False)
```
在这个循环中,`file_path`变量用于获取excel文件的完整路径,然后使用`pandas.read_excel()`函数读取excel表格,并对表格进行处理。处理完成后,使用`pandas.to_excel()`函数将处理后的表格保存到原文件中,其中`index=False`表示不保存行索引,也可以将表格保存到一个新的excel文件中。
完整代码如下:
```python
import os
import pandas as pd
folder_path = 'path/to/folder'
file_names = os.listdir(folder_path)
excel_files = filter(lambda x: x.endswith('.xlsx') or x.endswith('.xls'), file_names)
for file_name in excel_files:
file_path = os.path.join(folder_path, file_name)
# 读取excel表格
df = pd.read_excel(file_path)
# 对表格进行处理
# ...
# 保存处理后的表格
df.to_excel(file_path, index=False)
```
阅读全文