Pycharm安装 xlrd
首先在xuexi目录下创建一个ExcelFile文件,让后在ExcelFile下创建一个Excel表格
创建表格时记得把单元格的格式设置为【文本】
我们设置为文本之后,存进去的所有内容都是字符串,我们需要用到里面的东西的时候用eval()这个方法直接取出来就可以了!
大家看见这个玩意读取出来的全部都是str,很明显第三个我们想要的是一个dict类型,第四个是float类型,那么我们就用eval给她取出来就可以了,如下图所示就可以取出我们想要的东西了--
import xlrd excel_name = xlrd.open_workbook( r'C:\Users\Administrator\Desktop\xuexi\ExcelFile\test.xlsx')# 打开excel文件格式为xlsx有的是xls # table = excel_name.sheet_by_name('Sheet1')#根据Sheet名称读取指定的sheet页 table = excel_name.sheet_by_index(0) #根据索引读取 Sheet1 索引为0 value = table.cell(0,0).value # a代表行——从零开始 b代表列 从零开始 print(value,type(value)) value1 = table.cell(1,0).value print(value1,type(value1)) value2 = table.cell(2,0).value print(value2,type(value2)) value3 = table.cell(3,0).value print(value3,type(value3)) print(eval(value2),type(eval(value2))) print(eval(value3),type(eval(value3)))
用一次读一次方法封装:
def duQu_Excel(Sheet, a, b): '''读取excel文件''' Excel_Name = xlrd.open_workbook( r'C:\Users\Administrator\Desktop\xuexi\ExcelFile\test.xlsx') # 打开excel文件格式为xlsx有的是xls table = Excel_Name.sheet_by_name(Sheet) #读取指定的sheet页 cell_a1 = table.cell(a, b).value # a代表行——从零开始 b代表列 从零开始 return cell_a1 #取出来的值是一个字符串,用的时候需要根据实际情况eval处理
看下性能:
然后打印取出前的时间---在打印读取后的时间 ---后者减去前者
结果如下:ms为单位看不出是一样的性能.
另外还有这两个方法..整行整列的读取
Row=table.row_values(0) #读取第一行
Column=table.col_values(0) #读取第一列
全部读取封装方法是:
def duQu_Excel(Sheet): '''读取excel文件''' Excel_Name = xlrd.open_workbook( r'C:\Users\Administrator\Desktop\xuexi\ExcelFile\test.xlsx') # 打开excel文件格式为xlsx有的是xls table = Excel_Name.sheet_by_name(Sheet) #读取指定的sheet页 return table table=duQu_Excel('Sheet1')