Python代码将多个个Excel表格按照地区名称对企业名称进行分类,并且新增一列是Excel名中()内的内容命名为时间,并且按照各个地区名称生成新Excel
时间: 2024-02-13 14:01:40 浏览: 69
好的,我可以为您提供一段Python代码来实现这个需求。首先,您需要安装pandas和openpyxl库。
以下是代码示例:
```python
import os
import pandas as pd
# 设置工作目录
work_dir = 'your/work/dir'
os.chdir(work_dir)
# 获取所有Excel文件名
file_names = [f for f in os.listdir() if f.endswith('.xlsx')]
# 定义分类函数
def classify(file_name):
region_name = file_name.split('(')[0] # 地区名称为文件名中'('之前的部分
df = pd.read_excel(file_name)
df['时间'] = file_name.split('(')[1].split(')')[0] # 新增一列时间,从文件名中获取
return region_name, df
# 对所有Excel文件进行分类
dfs_by_region = {}
for file_name in file_names:
region_name, df = classify(file_name)
if region_name not in dfs_by_region:
dfs_by_region[region_name] = df
else:
dfs_by_region[region_name] = pd.concat([dfs_by_region[region_name], df])
# 将分类后的数据写入新Excel文件
for region_name, df in dfs_by_region.items():
file_name = f'{region_name}.xlsx'
df.to_excel(file_name, index=False)
```
这段代码会将所有xlsx文件按照文件名中'('之前的部分分类,并在分类后的每个DataFrame中新增一列时间,最后将所有分类后的数据写入新的Excel文件中。
阅读全文