Python代码示例,读取excel表格,将行数据转为列数据。
这几天有个excel需要处理,主要读取一个学生的成绩单,将其转化成新的格式。
这个是需要处理的成绩单,按学生姓名、科目、成绩纵向排列。
这个是需要清洗成的数据格式,按单位和学科查看成绩。
我这里整理完后在命令行打印,然后复制到新的文件中。
import pandas as pd
types = ['语文','数学','物理','化学','生物','地理']
excelfile = './行数据表格.xlsx'
mexcel = './列数据表格.xlsx'
df = pd.read_excel(excelfile,sheet_name='sheet1')
dfm = pd.read_excel(mexcel)
unit = []
for index,row in dfm.iterrows():
dictrow = row.to_dict()
unit.append(dictrow['统计'])
ta = {}
for item in unit:
typei = {}
for type in types:
typei[type] = 0
ta[item] = typei
for index,row in df.iterrows():
dictrow = row.to_dict()
ta[dictrow['学生']][dictrow['科目']] = dictrow['成绩']
for ab in ta:
print(ab,end='')
for sf in ta[ab]:
print('\t',end='')
print(ta[ab][sf],end='')
print()