【Python开发】Excel的操作之——读取
主要思路参考这篇博客的内容,把地址贴上:
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())
View Code
自己写的实际调用函数如下:
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()
View Code
另外我采用的是bat批处理文件调用py文件,bat代码如下:
1 @echo off 2 3 echo 开始运行ExcelRead程序 4 echo\ 5 6 python G:\PycharmProjects\【180817】ExcelOperation\ExcelRead.py 7 8 pause
View Code
执行效果如下:
下一步计划需要把读出来的数据按表排列………(未完待续)
今日优化代码:
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 20 for n in range(nrows): 21 sheet_list = current_sheet.row_values(n) # 读取的excelsheet无法修改(只读),添加list转换 22 23 # 整理数据表,建立表头,之后增加 24 if n == 0: # 输出表头 25 table = PrettyTable(sheet_list) 26 else: # 输出内容 27 # 项目内容判断 28 if sheet_list[1] == "": 29 print('提示:第' + str(n) + '行未填入项目内容!') 30 31 # 金额内容判断 32 if sheet_list[2] == "": 33 print('提示:第' + str(n) + '行未填入金额!') 34 35 # 日期内容判断 36 if sheet_list[3] == "": 37 print('提示:第' + str(n) + '行未填入日期!') 38 else: 39 # 日期格式判断 40 if type(sheet_list[3] == float) and type(sheet_list[3]) != str: #时间转换 41 datetime = xlrd.xldate_as_datetime(current_sheet.cell(n,3).value,workbook.datemode) 42 sheet_list[3] = datetime.date() 43 else: 44 sheet_list[3] = '' 45 print('提示:第' + str(n) + '行未正确填入日期,取消显示!') 46 47 table.add_row(sheet_list) 48 49 print('') # 空一行 50 print(table) # 打印最终表格 51 52 print('\n共有' + str(nrows) + '行,已全部打印完毕\n') 53 break; 54 else: 55 print('错误提示:sheet表序号超出最大长度,请重新输入')
View Code
运行结果如下,比昨天的好看多了:
转载于:https://www.cnblogs.com/Kevin-WangXinzheng/p/9495975.html
【Python开发】Excel的操作之——读取相关推荐
- python处理excel教程实例-python 读写excel文件操作示例【附源码下载】
本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...
- python对Excel表格数据进行读取和写入
1. 功能分析 1.1加载文件夹内所有的Excel数据: 1.2 生产贡献度分析图表(以柱状图显示表格数据): 1.3提起Excel表格中指定列数据: 1.4定向筛选所需数据: 1.5多表数据统计排行 ...
- python 开发个人日常操作笔记
文章目录 程序员必备储备资源网站 常见问题 1.端口占用的问题 linux windows 2.ssh redis 链接 3.ssh 服务安装配置开机自动启动 ssh指定端口链接: 6, mongo ...
- python 读excel中的sheet_python读取excel文件中所有sheet表格
sales: store: """ (1)用load_workbook函数打开excel文件,返回一个工作簿对象 (2)用工作簿对象获取所有的sheet (3)第一个fo ...
- Python的excel表格操作,数据提取分析
自己编写了一些表格的操作方法,只需传入表格路径和表的位置,就能在根据自己使用的方法展示不同类型的数据如:字典,列表,字典里套列表,列表里套列表,查询最大行数,在指定的行数插入数据等,有疑问欢迎评论 c ...
- python处理excel实例编程_python读取Excel实例详解
本文实例为大家分享了python读取Excel实例的具体代码,供大家参考,具体内容如下 1.操作步骤: (1)安装python官方Excel库-->xlrd (2)获取Excel文件位置并读取 ...
- python做excel宏_利用Python 开发 Excel 宏脚本的神器!
今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python. 基本环境 操作系统:Windows 10 x64 ...
- python控制excel选择区域,python针对excel的操作技巧
一. openpyxl读 95%的时间使用的是这个模块,目前excel处理的模块,只有这个还在维护 1.workBook 2.sheet 3.cell (1)sheet1=workBook.get_s ...
- Python之Excel 优雅操作手法 精选
文章目录 前言 Excel简介 基本操作 模块导入:`import openpyxl` 空手套白狼,创建Excel文件: 打开一个现有的Excel: 基本读写操作: 基本页操作(sheet) 创建sh ...
最新文章
- 在Windows下,用Hexo搭建博客
- 回答跨专业考研者的几点疑问(计算机考研)
- Bokeh中图形与组件的布局简介 | Bokeh 小册子
- TOPCODER SAM 686 div1 300
- 需求分析的20条法则
- J2EE开发技术点4:ajax技术
- SQL 创建数据库、表以及索引
- paip.批处理清理java项目冗余jar的方法
- 1047. 编程团体赛(20)-PAT乙级真题
- 怎样对ListView的项进行排序
- linux 查看cpu温度,安装lm_sensors工具
- Springboot thymeleaf i18n国际化多语言选择
- 项目设计之----命令模式的利用
- 将QQ语音的slk格式转化为wma
- Java面试--观察者模式
- 为antd tree组件 在onSelect时获取额外数据
- arm嵌入式led灯闪烁实验报告_嵌入式ARM键盘控制LED灯实验报告
- V4L2文档翻译(九)
- Java 细品 重写equals方法 和 hashcode 方法
- cms概述 。比较shopex和ecshop区别 。smarty模板引擎的入门