pandas 自动化处理Excel数据
需求: 如下一份这样的Excel数据 现在需要把学生的学号、姓名分离出来到单独的一列 ,将 测验、讨论、成绩三列转换成数值,并把讨论这列的“-”转换成 0 显示
最后把处理好的内容输出到新的Excel文件!!!

对应完整的代码和解释如下:
import pandas as pd
df = pd.read_excel(r'E:\\工作内容\\Python数据\\测试数据.xlsx',sheet_name='Sheet1')
# 截取每个值的前3个字符
df['学号'] = df['学生昵称'].str[7:15]
# 去掉每个值的前3个字符并保留后面的字符
df['真实姓名'] = df['学生昵称'].str[15:]
# 将列中的所有'-'替换为0
df['讨论'] = df['讨论'].str.replace('-', '0')
column_as_list = df['讨论'].str.replace('-', '0').tolist()
# 插入一个新列 'new_column' 并为其赋值
df['讨论2'] = column_as_list
# 要转换的列名列表
columns_to_convert = ['测验', '讨论','成绩','讨论2']
# 循环处理每一列
for column in columns_to_convert:
df[column] = pd.to_numeric(df[column])
# 将 DataFrame 保存到 Excel 文件中
df.to_excel(r'E:\\工作内容\\Python数据\\测试数据2.xlsx', index=False) # 如果不希望保存索引,请设置 index=False
# 显示数据框的前几行
print(df.head())