用python的pandas将 班内序号表xlxs文件转 换为字典数据列表后,请先按照姓名进行排序, 再按照班级排序,输出自己 班上的学生信息
时间: 2023-06-17 18:05:46 浏览: 83
python数据清洗之数据合并、转换、过滤、排序
假设班内序号表的文件名为 `students.xlsx`,包含以下列:`序号`、`姓名`、`班级`、`性别`、`年龄`、`电话`。
首先,我们需要用 pandas 模块读取该文件,并将其转换为字典数据列表。代码如下:
```python
import pandas as pd
# 读取 excel 文件
df = pd.read_excel('students.xlsx')
# 将数据转换为字典数据列表
student_list = df.to_dict('records')
```
接下来,我们需要对 `student_list` 进行排序。先按照 `姓名` 进行排序,再按照 `班级` 进行排序。代码如下:
```python
# 按照姓名进行排序
student_list = sorted(student_list, key=lambda x: x['姓名'])
# 按照班级进行排序
student_list = sorted(student_list, key=lambda x: x['班级'])
```
最后,我们需要输出自己班上的学生信息。代码如下:
```python
# 输出自己班上的学生信息
my_class = '1班' # 假设自己所在班级为 1班
for student in student_list:
if student['班级'] == my_class:
print(student)
```
完整代码如下:
```python
import pandas as pd
# 读取 excel 文件
df = pd.read_excel('students.xlsx')
# 将数据转换为字典数据列表
student_list = df.to_dict('records')
# 按照姓名进行排序
student_list = sorted(student_list, key=lambda x: x['姓名'])
# 按照班级进行排序
student_list = sorted(student_list, key=lambda x: x['班级'])
# 输出自己班上的学生信息
my_class = '1班' # 假设自己所在班级为 1班
for student in student_list:
if student['班级'] == my_class:
print(student)
```
阅读全文