【Python开发】Excel的操作之——读取
程序员文章站
2022-06-04 18:55:52
主要思路参考这篇博客的内容,把地址贴上: http://www.cnblogs.com/zhoujie/p/python18.html 下面贴上我自己的代码 读取excel数据的demo代码如下: 1 def read_excel_demo(): 2 # 打开文件 3 workbook = xlrd ......
主要思路参考这篇博客的内容,把地址贴上:
http://www.cnblogs.com/zhoujie/p/python18.html
下面贴上我自己的代码
读取excel数据的demo代码如下:
1 def read_excel_demo(): 2 # 打开文件 3 workbook = xlrd.open_workbook(r'c:\users\wxz\desktop\2018年信用卡花费(kevin).xlsx') 4 # 获取所有sheet 5 print('打印所有sheet表名称:',workbook.sheet_names()) 6 sheet1_name = workbook.sheet_names()[0] 7 sheet2_name = workbook.sheet_names()[1] 8 # print(sheet1_name) 9 10 # 根据sheet索引或者名称获取sheet内容 11 sheet1 = workbook.sheet_by_index(0) 12 # todo 问题 13 # sheet2 = workbook.sheet_by_name('sheet1_name') 14 # print(sheet2) 15 16 # sheet的名称,行数,列数 17 print(sheet1.name, sheet1.nrows, sheet1.ncols) 18 19 # 获取整行和整列的值(数组) 20 rows = sheet1.row_values(0) 21 cols = sheet1.col_values(0) 22 print(rows) 23 print(cols) 24 25 # 获取单元格内容 26 print(sheet1.cell(0, 0).value) 27 print(sheet1.cell_value(0, 0)) 28 print(sheet1.row(0)[0].value) 29 30 # 获取单元格内容的数据类型 ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error 31 print(sheet1.cell(0, 0).ctype) 32 33 # 获取日期 34 if sheet1.cell(1, 3).ctype == 3: 35 datetime = xlrd.xldate_as_datetime(sheet1.cell(1, 3).value, workbook.datemode) 36 print(datetime.date())
自己写的实际调用函数如下:
1 def read_excel(): 2 workbook = xlrd.open_workbook(r'c:\users\wxz\desktop\2018年信用卡花费(kevin).xlsx') 3 sheet_name = workbook.sheet_names() # 获取所有sheet表名称 4 sheet_length = sheet_name.__len__() # 获取sheet表长度 5 print('已读取excel所有sheet表名称:') 6 7 sheet_num = 0 8 for name in sheet_name: 9 print(str([sheet_num]) + ':' + name) 10 sheet_num = sheet_num + 1 11 12 while true: 13 sheet_index = int(input('\n请输入需要打印的sheet表序号:')) 14 if sheet_index < sheet_length: 15 print('\n正在打印《' + workbook.sheet_names()[sheet_index] + '》的内容……\n') 16 17 current_sheet = workbook.sheet_by_index(sheet_index) 18 nrows = current_sheet.nrows 19 for n in range(nrows): 20 print(current_sheet.row_values(n)) 21 22 print('\n共有' + str(nrows) + '行,已全部打印完毕\n') 23 break; 24 else: 25 print('错误提示:sheet表序号超出最大长度,请重新输入') 26 27 if __name__ == '__main__': 28 read_excel()
另外我采用的是bat批处理文件调用py文件,bat代码如下:
1 @echo off 2 3 echo 开始运行excelread程序 4 echo\ 5 6 python g:\pycharmprojects\【180817】exceloperation\excelread.py 7 8 pause
执行效果如下:
下一步计划需要把读出来的数据按表排列………(未完待续)