Python读取Excel文件数据的2种方式
1、利用xlrd库函数
import xlrd
#读取excel文件
def excel(fileName,sheetName):
wb = xlrd.open_workbook(fileName)# 打开Excel文件
sheet = wb.sheet_by_name(sheetName)#通过excel表格名称(rank)获取工作表
dat = [] #创建空list
for a in range(sheet.nrows): #循环读取表格内容(每次读取一行数据)
cells = sheet.row_values(a) # 每行数据赋值给cells
data=cells#因为表内可能存在多列数据,0代表第一列数据,1代表第二列,以此类推
dat.append(data) #把每次循环读取的数据插入到list
return dat
#读取excel文件单列
def excel_col(fileName,sheetName):
wb = xlrd.open_workbook(fileName)# 打开Excel文件
sheet = wb.sheet_by_name(sheetName)#通过excel表格名称(rank)获取工作表
dat = [] #创建空list
for a in range(sheet.nrows): #循环读取表格内容(每次读取一行数据)
cells = sheet.row_values(a) # 每行数据赋值给cells
data=cells[3]#因为表内可能存在多列数据,0代表第一列数据,1代表第二列,以此类推
dat.append(data) #把每次循环读取的数据插入到list
return dat
对应主函数:
if __name__ == "__main__":
fileName1 = 'E:\\MyData\\ex1.xlsx'
fileName2 = 'E:\\MyData\\ex2.xlsx'
test = 'E:\\MyData\\test.xlsx'
fileName3 = 'E:\\MyData\\bound.xlsx'
sheetName = 'Sheet1'
a = excel(fileName1,sheetName) # 返回整个函数的值
b = excel(fileName2,sheetName)
info = excel_col(fileName3,sheetName)
# print(info)
2、利用Pandas
import pandas as pd
datafile = u'E:\\MyData\\Sample.xlsx'
data = pd.read_excel(datafile)
data_fea = data.iloc[:, 1:] # 取数据中指标所在的列;第1列到最后1列
print(data_fea)
model = RandomForestRegressor(random_state=1, max_depth=30)
data_fea = data_fea.fillna(0) # 随机森林只接受数字输入,不接受空值、逻辑值、文字等类型
data_fea = pd.get_dummies(data_fea)
model.fit(data_fea, data.RON)