pandas操作excel

import os
from numpy import dtype
import pandas as pd
import numpy as np

df=pd.read_excel('aa.xls',sheet_name=0,usecols="N,O",dtype=str)#这个会直接默认读取到这个Excel的第一个表单
df2=df.loc[df["学习类型"]=="在校"]
df3=df2.drop_duplicates()
s=list(df3["专修学籍专业"])
#print(s)

#读取指定列,全部转换成字符处理
df=pd.read_excel('aa.xls',sheet_name=0,usecols="F,H,M,O,P,Z",dtype=str)#这个会直接默认读取到这个Excel的第一个表单


#保存成新文件,保存多个sheet
saveFile="wxp.xlsx"
writer=pd.ExcelWriter(saveFile)


#提取2021年级5年制学生 
#条件筛选
df2=df.loc[(df["专修年级"]=="2021") ]
df3=df2.loc[(df2["层次"]=="5年制")]

#删除列
df3=df3.drop(["层次","专修学籍专业","专修年级","技能分班"],axis=1)
#增加列
df3['第1周课堂表现1']=None
df3['第1周课堂表现2']=None
df3['第1周课堂表现3']=None
#重新索引
df3.index = range(1,len(df3) + 1) 

df3.to_excel(writer,sheet_name="2021年5年制")
print("2021年5年制  ok "+str(df3.shape[0]))
 
for x in s:
    #print(x)
    #提取 2021年软件工程1班
    df2=df.loc[(df["专修年级"]=="2021") & (df["专修学籍专业"]==x) ]
    df3=df2.loc[(df["技能分班"]=="1")]

    if(df3.shape[0]<=0):
        continue
    #df3["prof"]="mm"
    #df3=df3.drop(962,axis=0)
    #strname="2021年1班"+x 
    df3=df3.drop(["层次","专修学籍专业","专修年级","技能分班"],axis=1)  
    df3['第1周课堂表现1']=None
    df3['第1周课堂表现2']=None
    df3['第1周课堂表现3']=None
    df3.index = range(1,len(df3) + 1) 
    pd.DataFrame(df3).to_excel(writer,sheet_name="2021年1班"+x)
    print(x+" 2021年1班 ok "+str(df3.shape[0]))

  
    #提取 2021年软件工程2班
    df2=df.loc[(df["专修年级"]=="2021") & (df["专修学籍专业"]==x) ]
    df3=df2.loc[(df["技能分班"]=="2")]
    if(df3.shape[0]<=0):
       continue

    df3=df3.drop(["层次","专修学籍专业","专修年级","技能分班"],axis=1)
    df3['第1周课堂表现1']=None
    df3['第1周课堂表现2']=None
    df3['第1周课堂表现3']=None
    df3.index = range(1,len(df3) + 1) 
    df3.to_excel(writer,sheet_name="2021年2班"+x)
    print(x+" 2021年2班 ok "+str(df3.shape[0]))

writer.save();

#读取指定列,全部转换成字符处理
#df=pd.read_excel('2021级点名册.xls',sheet_name=0)#
#s3 = pd.Series(np.random.rand(5)*100,index=['r1','r2','r3','r4','r5'])
#df.loc['a5'] = s3
#df.to_excel("mm.xlsx")
#print("modify is ok")




上一篇:数据结构(1)


下一篇:MySQL存储引擎与基本数据类型