import xlwt import pandas as pd # 读取新EXCEL df = pd.DataFrame({'序号': [1, 2, 3, 4], '表名': ['西部公司', '东部公司','东部公司', '西部公司'], 'sheet名': ['表一', '表三','二', '表四'], '姓名': ['Malehhjkjkgkjjgkgjk', 'Femalestrehree', 'Femalegrhreherdfdfdfh', 'Maledfgfdgdfdg'], '金额': [2, 2, 2, 2]}) print(df) groups = df.groupby('sheet名') for name, group in groups: print(name) 把group按照关键字['四','三','二','一']先后顺序排序
时间: 2023-06-14 16:07:02 浏览: 62
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
可以使用pandas的Categorical数据类型进行排序,先将sheet名转为Categorical类型,然后按照指定的顺序排序:
```
import xlwt
import pandas as pd
# 读取新EXCEL
df = pd.DataFrame({
'序号': [1, 2, 3, 4],
'表名': ['西部公司', '东部公司','东部公司', '西部公司'],
'sheet名': ['表一', '表三','二', '表四'],
'姓名': ['Malehhjkjkgkjjgkgjk', 'Femalestrehree', 'Femalegrhreherdfdfdfh', 'Maledfgfdgdfdg'],
'金额': [2, 2, 2, 2]
})
# 转换sheet名为Categorical类型,并按照指定顺序排序
cat_dtype = pd.api.types.CategoricalDtype(categories=['一', '二', '三', '四'], ordered=True)
df['sheet名'] = df['sheet名'].astype(cat_dtype)
groups = df.groupby('sheet名')
for name, group in groups:
print(name)
# 按照姓名排序
print(group.sort_values(by='姓名'))
```
这样可以将group按照指定的顺序排序并输出。
阅读全文