创建一个成绩单文件score.xlsx,将平时成绩单.xlsx文件中对应班级工作表中学号和姓名列的内容写入到score.xlsx中,python
时间: 2024-03-24 07:38:42 浏览: 162
好的,可以使用Python中的pandas库来实现这个功能。以下是代码实现:
```python
import pandas as pd
# 读取平时成绩单.xlsx文件中对应班级工作表中学号和姓名列的内容
filename = '平时成绩单.xlsx'
class_name = '一班' # 假设要读取的班级名称为一班
df = pd.read_excel(filename, sheet_name=class_name, usecols=['学号', '姓名'])
# 将读取到的内容写入到score.xlsx文件中
output_filename = 'score.xlsx'
with pd.ExcelWriter(output_filename) as writer:
df.to_excel(writer, sheet_name=class_name, index=False)
```
以上代码中,我们首先使用pandas库中的`read_excel`函数读取了平时成绩单.xlsx文件中一班工作表中的学号和姓名列,并保存到一个DataFrame对象`df`中。然后,我们使用`ExcelWriter`对象将DataFrame对象`df`写入到score.xlsx文件中,并指定sheet名称为班级名称。其中,`to_excel`函数的`index=False`参数表示不将DataFrame对象的索引列写入到Excel文件中。
相关问题
python导入三个班的文件,分别合并名单表和成绩表(纵向堆叠),并导出为“名单表.xlsx”和“成绩表.xlsx”,要求不写入索引,且可正常显示学号
在Python中,你可以使用pandas库来处理这种数据操作。首先,确保你已经安装了`pandas`, `openpyxl`和`os`这三个库。如果你还没有安装,可以使用`pip install pandas openpyxl os`命令安装。
下面是一个示例代码,说明如何导入三个班级的CSV文件,合并数据,然后保存为Excel文件:
```python
import pandas as pd
from openpyxl import Workbook
import os
# 假设你的班级文件名分别是"class1.csv", "class2.csv", "class3.csv"
file_list = ['class1.csv', 'class2.csv', 'class3.csv']
# 合并数据
all_data = []
for filename in file_list:
data = pd.read_csv(filename)
# 将每个班级的数据框按学号堆叠
all_data.append(data.set_index('学号').stack().reset_index())
# 合并所有数据
merged_df = pd.concat(all_data, ignore_index=True)
# 清除索引列
merged_df = merged_df.drop(columns=['level_0'])
# 选择显示的列(这里假设姓名和成绩是需要显示的)
display_columns = ['姓名', '成绩']
display_df = merged_df[display_columns]
# 创建一个新的工作簿,并设置默认值不包含索引
workbook = Workbook()
sheet = workbook.active
sheet.title = "名单表"
# 写入数据到excel文件
with pd.ExcelWriter('名单表.xlsx', engine='openpyxl') as writer:
display_df.to_excel(writer, sheet_name='名单表', index=False)
# 对于成绩表,如果成绩也是单独的文件,类似地操作。如果没有单独文件,可以将成绩添加到上面的display_df中
# 如果有成绩表文件名列表(例如'score_files.txt'),则按照同样的方式读取并合并,然后另存为"成绩表.xlsx"
```
这个脚本会生成两个Excel文件:"名单表.xlsx"和"成绩表.xlsx"(如果有成绩表的话)。注意,你需要根据实际的文件路径、列名以及结构调整代码。
阅读全文
相关推荐
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)