Python 把excel按字段内容分类新建文件夹存储起来
时间: 2023-06-12 13:07:26 浏览: 144
可以使用Python中的pandas和os库来实现这个功能。
首先,我们需要读取excel文件并将其转换为pandas的DataFrame对象。假设我们要处理的excel文件名为“data.xlsx”,它的第一个sheet中包含以下内容:
| Name | Gender | Age |
|-------|--------|-----|
| Alice | Female | 25 |
| Bob | Male | 30 |
| Carol | Female | 28 |
| Dave | Male | 35 |
以下是读取excel并转换为DataFrame对象的代码:
```python
import pandas as pd
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
```
接下来,我们需要按照“Gender”字段的内容来分类数据并将其保存到不同的文件夹中。我们可以使用pandas的groupby方法来实现这个功能。以下是完整的代码:
```python
import pandas as pd
import os
# 读取excel文件并转换为DataFrame对象
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# 按照“Gender”字段分类数据
groups = df.groupby('Gender')
# 创建存储文件夹
for name, group in groups:
if not os.path.exists(name):
os.makedirs(name)
# 将数据保存到对应的文件夹中
for name, group in groups:
for index, row in group.iterrows():
file_path = os.path.join(name, f"{row['Name']}.xlsx")
row.to_excel(file_path, index=False)
```
上述代码中,我们首先使用groupby方法按照“Gender”字段来分类数据。然后,我们遍历每个分类,如果对应的文件夹不存在,则创建它。最后,我们遍历每个分类中的每一行数据,将其保存到对应的文件夹中。注意,在保存数据时,我们使用了pandas的to_excel方法来将DataFrame对象保存为excel文件。
最终,我们会得到两个文件夹,一个名为“Female”,另一个名为“Male”。在每个文件夹中,我们会得到两个excel文件,分别为该文件夹下对应的人员信息。
阅读全文