Python代码示例,读取excel表格,将行数据转为列数据。

11个月前 (05-25)学习356

这几天有个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()
分享到: