这段代码主要用到两个for循环,分别循环sheet和每张sheet中的每一行。
在读取和储存过程中,为解决读取行后却储存为列的情况,进行了pd.DataFrame(b).T.to_csv()
的处理方式。
代码中用到的文档链接为:https://pan.baidu.com/s/1Y2nUeCdZ6itykWNMNC2xMw
提取码:tqob
下面是代码:
import pandas as pd
import numpy as np
inexcel=r'mathdata.xlsx'
j=0
for j in range(6):
a = pd.read_excel(inexcel, sheet_name=j)
df = pd.DataFrame(a)
i=0
bin_=np.array([[0,50,150,250,350,420,100000],
[0,35,75,115,150,250,100000],
[0,50,150,475,800,1600,100000],
[0,40,80,180,280,565,100000],
[0,2,4,14,24,36,100000],
[0,100,160,215,265,800,100000]
])
for i in range(len(df.index)):
b=pd.cut(df.loc[i,:],bins=bin_[j],labels=[1,2,3,4,5,6])
pd.DataFrame(b).T.to_csv('class'+str(j)+'.csv',header=0,index=0,mode='a')
i+=1
j+=1
运行结果如下:
最左边一列6,表示的是日期,删除即可不影响数据整体。