主要思路参考这篇博客的内容,把地址贴上:

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的操作之——读取相关推荐

  1. python处理excel教程实例-python 读写excel文件操作示例【附源码下载】

    本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...

  2. python对Excel表格数据进行读取和写入

    1. 功能分析 1.1加载文件夹内所有的Excel数据: 1.2 生产贡献度分析图表(以柱状图显示表格数据): 1.3提起Excel表格中指定列数据: 1.4定向筛选所需数据: 1.5多表数据统计排行 ...

  3. python 开发个人日常操作笔记

    文章目录 程序员必备储备资源网站 常见问题 1.端口占用的问题 linux windows 2.ssh redis 链接 3.ssh 服务安装配置开机自动启动 ssh指定端口链接: 6, mongo ...

  4. python 读excel中的sheet_python读取excel文件中所有sheet表格

    sales: store: """ (1)用load_workbook函数打开excel文件,返回一个工作簿对象 (2)用工作簿对象获取所有的sheet (3)第一个fo ...

  5. Python的excel表格操作,数据提取分析

    自己编写了一些表格的操作方法,只需传入表格路径和表的位置,就能在根据自己使用的方法展示不同类型的数据如:字典,列表,字典里套列表,列表里套列表,查询最大行数,在指定的行数插入数据等,有疑问欢迎评论 c ...

  6. python处理excel实例编程_python读取Excel实例详解

    本文实例为大家分享了python读取Excel实例的具体代码,供大家参考,具体内容如下 1.操作步骤: (1)安装python官方Excel库-->xlrd (2)获取Excel文件位置并读取 ...

  7. python做excel宏_利用Python 开发 Excel 宏脚本的神器!

    今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python. 基本环境 操作系统:Windows 10 x64 ...

  8. python控制excel选择区域,python针对excel的操作技巧

    一. openpyxl读 95%的时间使用的是这个模块,目前excel处理的模块,只有这个还在维护 1.workBook 2.sheet 3.cell (1)sheet1=workBook.get_s ...

  9. Python之Excel 优雅操作手法 精选

    文章目录 前言 Excel简介 基本操作 模块导入:`import openpyxl` 空手套白狼,创建Excel文件: 打开一个现有的Excel: 基本读写操作: 基本页操作(sheet) 创建sh ...

最新文章

  1. 在Windows下,用Hexo搭建博客
  2. 回答跨专业考研者的几点疑问(计算机考研)
  3. Bokeh中图形与组件的布局简介 | Bokeh 小册子
  4. TOPCODER SAM 686 div1 300
  5. 需求分析的20条法则
  6. J2EE开发技术点4:ajax技术
  7. SQL 创建数据库、表以及索引
  8. paip.批处理清理java项目冗余jar的方法
  9. 1047. 编程团体赛(20)-PAT乙级真题
  10. 怎样对ListView的项进行排序
  11. linux 查看cpu温度,安装lm_sensors工具
  12. Springboot thymeleaf i18n国际化多语言选择
  13. 项目设计之----命令模式的利用
  14. 将QQ语音的slk格式转化为wma
  15. Java面试--观察者模式
  16. 为antd tree组件 在onSelect时获取额外数据
  17. arm嵌入式led灯闪烁实验报告_嵌入式ARM键盘控制LED灯实验报告
  18. V4L2文档翻译(九)
  19. Java 细品 重写equals方法 和 hashcode 方法
  20. cms概述 。比较shopex和ecshop区别 。smarty模板引擎的入门

热门文章

  1. 第11.19节 Python 中正则表达式的扩展功能:前视断言和前视取反
  2. Stata如何快速安装外部命令
  3. 新华三 测试工程师春招一面面经
  4. 2023第五届上海国际网红品牌博览会暨电商选品大会
  5. 大学生学习高数的情况和解决方案调研
  6. mac上迅雷下载不动的解决---上海003
  7. EXCEL包含小写字母的单元格颜色填充
  8. FOB,CIF,CFR的区别是什么?
  9. android 连接隐藏wifi,小技能 | 教你如何连接隐藏了的wifi(最齐全版本)
  10. 求最大值及其下标(C语言)