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 07:07:02 浏览: 43
可以使用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按照指定的顺序排序并输出。
相关问题
将给定的单选题题库txt文档中所有题目按照要求(共6列,分别是序号、题目、选项1、选项2、选项3、答案)写入到excel文档中。注意:题目不显示序号,选项不显示A、B、C。提交代码
好的,我可以帮您写一个Python程序来实现这个功能。您需要安装两个Python库:pandas和xlwt。
下面是代码实现:
```python
import pandas as pd
import xlwt
# 读取txt文件
with open("question_bank.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
# 将每一行按照空格分割,并去掉首尾空格
data = []
for line in lines:
line = line.strip()
if line:
data.append(line.split(" "))
# 转换为DataFrame
df = pd.DataFrame(data, columns=["题目", "选项1", "选项2", "选项3", "答案"])
# 写入Excel文件
workbook = xlwt.Workbook(encoding="utf-8")
worksheet = workbook.add_sheet("Sheet1")
# 写入表头
header = ["序号", "题目", "选项1", "选项2", "选项3", "答案"]
for i, h in enumerate(header):
worksheet.write(0, i, h)
# 写入数据
for i in range(len(df)):
worksheet.write(i+1, 0, i+1)
for j in range(len(header)-1):
worksheet.write(i+1, j+1, df.iloc[i, j])
# 保存文件
workbook.save("question_bank.xls")
```
请将上述代码保存为一个名为“convert.py”的文件,并将题库文件“question_bank.txt”放在同一目录下。然后在命令行中运行以下命令即可:
```
python convert.py
```
程序将会自动将题库转换成Excel文件,并保存在同一目录下的“question_bank.xls”文件中。
希望能够帮到您!