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())