现有的Excel分为两种格式:xls(Excel 97-2003)和xlsx(Excel 2007及以上)。

Python处理Excel文件主要是第三方模块库xlrd、xlwt、pyexcel-xls、xluntils和pyExcelerator,以及win32com和openpyxl模块,此外Pandas中也带有可以读取Excel文件的模块(read_excel)。

基于扩展知识的目的,我们使用xlrd模块读取Excel数据。

首先安装该库,在系统终端命令行输入命令pip install xlrd。

然后我们以“附件-chapter2”文件夹demo.xlsx数据文件为例,介绍该库的具体应用。数据概览如图所示:

import xlrd # 导入库

# 打开文件

xlsx = xlrd.open_workbook("demo.xlsx’)

# 查看所有sheet列表

print ("All sheets: %s’%xlsx.sheet_names())

print ("===================================’) # 内容分割线

# 查看sheet1的数据概况

sheet1 = xlsx.sheets()[0] #获得第一张sheet,索引从0开始

sheet1_name = sheet1.name # 获得名称

sheet1_cols = sheet1.ncols # 获得列数

sheet1_nrows = sheet1.nrows # 获得行数

print ("Sheet1 Name: %s Sheet1 cols: %s Sheet1 rows: %s’)%(sheet1_name, sheet1_cols, sheet1_nrows)

print ("===================================’) # 内容分割线

# 查看sheet1的特定切片数据

sheet1_nrows4 = sheet1.row_values(4) # 获得第4行数据

sheet1_cols2 = sheet1.col_values(2) # 获得第2列数据

cell23 = sheet1.row(2)[3].value # 查看第3行第4列数据

print ("Row 4: %s Col 2: %s Cell 1: %s ’%(sheet1_nrows4, sheet1_cols2, cell23))

print ("===================================’) # 内容分割线

# 查看sheet1的数据明细

for i in range(sheet1_nrows): # 逐行打印sheet1数据

print (sheet1.row_values(i))

上述代码中,我们先读取一个Excel文件,再查看所有sheet(工作簿)并输出sheet1相关属性信息;然后查看sheet1中特定数据行、列和元素的信息;最后我们用循环的方式,依次读取每个数据行并打印输出。

以下是代码执行后打印输出的结果

All sheets: [u’Sheet1′]

===================================

Sheet1 Name: Sheet1

Sheet1 cols: 4

Sheet1 rows: 10

===================================

Row 4: [u’431381197408191515′, u’有效′, 42725.0, u’深圳市′]

Col 2: [u’Create_Time’, 42725.0, 42725.0, 42725.0, 42725.0, 42725.0, 42725.0, 42725.0, 42725.0, 42725.0]

Cell 1: 深圳市

===================================

[u’ID_number’, u’Status’, u’Create_Time’, u’Business_City’]

[u’431381198109106573′, u’有效′, 42725.0, u’深圳市′]

[u’431381198809122734′, u’有效′, 42725.0, u’深圳市′]

[u’431381197903117478′, u’有效′, 42725.0, u’深圳市′]

[u’431381197408191515′, u’有效′, 42725.0, u’深圳市′]

[u’431381197606166011′, u’有效′, 42725.0, u’深圳市′]

[u’43138119850623339X’, u’有效′, 42725.0, u’深圳市′]

[u’431381198908223477′, u’有效′, 42725.0, u’深圳市′]

[u’431381198901176911′, u’有效′, 42725.0, u’深圳市′]

[u’43138119870827275X’, u’有效′, 42725.0, u’深圳市′]

提示 在上述打印输出的内容中,我们发现第二列、第三列、第四列与原始数据似乎不同。第二列和第四列“异常”的原因是将中文编码统一转换为Unicode编码,便于在不同程序间调用;第三列“异常”是由于将日期格式转换为数值格式而已。

上述操作只是将数据从Excel中读取出来,基于读取的数据转换为数组便可以进行矩阵计算。由于矩阵计算大多是基于数值型数据实现的,因此上述数据将无法适用于大多数科学计算场景,这点需要注意。

总结:在企业实际场景中,由于Excel本身的限制和适用,其无法存储和计算过大(例如千万级的数据记录)的数据量,并且Excel本身也不是为了海量数据的应用而产生的。因此,Excel可以作为日常基本数据处理、补充数据来源或者汇总级别的数据进行读取,同时也可以作为数据结果展示的载体,这种应用下对于大量数值表格的应用效果非常好。

====================【好书推荐,我为自己代言】====================

《Python数据分析与数据化运营》第二版上市啦!

50+数据流工作知识点14个数据分析与挖掘主题8个综合性运营分析案例涵盖会员、商品、流量、内容4大主题360°把脉运营问题并贴合数据场景落地

本书主要基于Python实现,其中主要用到的计算库是numpy、pandas和sklearn,其他相关库还包括:

标准库:re、time、datetime、json、 base64、os、sys、cPickle、tarfile

Python调用R的rpy2

统计分析:Statsmodels

中文处理:结巴分词

文本挖掘:Gensim

数据挖掘和算法:XGboost、gplearn、TPOT

爬虫和解析:requests、Beautiful Soup、xml

图像处理:OpenCV和PIL/Pollow

数据读取:xlrd、pymongo、pymysql

数据预处理:imblearn

展示美化类:Matplotlib、pyecharts、graphviz、prettytable、wordcloud、mpl_toolkits、pydotplus

如果你对以下内容感兴趣,那么本书将值得一看:

KMeans聚类的自动K均值的确立方法

基于软方法的多分类模型组合评估模型的应用

基于自动下探(下钻、细分)的应用

基于增量学习的多项式贝叶斯分类

pipeline管道技术的应用

基于超参数的自动参数值的优化方法

特征自动选择

文本分类、文本主题挖掘

基于自动时间序列ARIMA的P、D、Q的调整

python决策树规则输出

基于自定义图像的文本标签云

非结构化数据,例如图像、音频、文本等处理

对象持久化处理

如何使用Python调用R实现数据挖掘

自动化学习:增加了对于自动化数据挖掘与机器学习的理论、流程、知识和应用库介绍,并基于TPOT做自动化回归和分类学习案例演示

有关这本书的写作感受、详细内容介绍、附件(含数据和代)下载、关键知识和方法以及完整书稿目录,请访问《Python数据分析与数据化运营》第二版出版了!要购买此书,可以去京东、当当和天猫等查看。

python提取excel数据-使用Python从Excel获取运营数据相关推荐

  1. Bigdecimal 在从数据库获取数据后 和从前台获取的数据作比较时(值相等)

    1.做数值校验 ,Bigdecimal 在从数据库获取数据后 和从前台获取的数据作比较时(小数) 会出现 数据库取出的数据进度丢失 得到的结果是 false 解决方案 :先进行小数位保留 然后再作比较 ...

  2. 用python提取PDF表格内容保存到excel

    一 提取pdf方法介绍 任务是用python提取PDF里的表格文件到excel里面去.做为一个 学了一个周python的人来说当然像尝试一下看能不能做到,事实证明是可以的只是可能代码有点烂...... ...

  3. python tushare获取股票数据_Python 金融: TuShare API 获取股票数据 (1)

    多多教Python 金融 是我为金融同行,自由职业投资人 做的一个专栏.这里包含了我自己作为量化交易员,在做研究时所用到的Python技巧和实用案例.这个栏目专业性会比较强:本人29岁,量化工作5年的 ...

  4. python如何获取股票数据_Python|一行代码获取股票数据

    随着金融行业的发展,金融相关的数据变得越来越有价值.股票的历史数据就是一种非常重要的时间序列数据,本文介绍一个不需要自己动手写爬虫就能够获取各个公司的股票信息的Python库--yfinance. 0 ...

  5. html中获取modelandview中的json数据_从Bitmap中获取YUV数据的两种方式

    从Bitmap中我们能获取到的是RGB颜色分量,当需要获取YUV数据的时候,则需要先提取R,G,B分量的值,然后将RGB转化为YUV(根据具体的YUV的排列格式做相应的Y,U,V分量的排列) 所以这篇 ...

  6. ios获取新数据要不要关_ios获取新数据要不要关

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. ios获取新数据是否要关可以根据需要选择,选择以手动形式获取数据,但是这样您将不能收到实时的邮件提醒. iOS(原名为iPhone ...

  7. 剖析遍历抓取的html标签数据,Jquery遍历数组(包括获取后端数据后的操作)和遍历标签(class名)...

    //遍历数组(获取后端数据如何遍历操作) var status  = 1;   //自定义状态 $('.tables-detail').html("");     //调用ajax ...

  8. python提取word中的表格写入excel

    1.将word中的表格提取提取到json中 # -*- coding: UTF-8 -*- import json import docx file_pp=r"C:\Users\docx\2 ...

  9. python提取数据库nosql_用 Python 写一个 NoSQL 数据库

    本文译自 What is a NoSQL Database? Learn By Writing One In Python. 完整的示例代码已经放到了 GitHub 上, 请 点击这里, 这仅是一个极 ...

最新文章

  1. em算法的java实现_EM算法 - Java教程 - 找一找教程网
  2. flex布局知识点总结
  3. android arp工具,GitHub - SummerSnow274/ARP_sed_rev: 在Android通过ARP询问实现获取同一网络所有设备的MAC地址,AP隔离的网络除外...
  4. nginx(五)nginx与php的安装配置
  5. 2c语言程序设计_大学生学C语言的理由是什么
  6. spring 操作对象写入mongo去除_class列
  7. 电子邮件是html文件吗,如何在电子邮件正文中嵌入HTML文件
  8. CentOS7静态IP地址配置
  9. 【TWVRP】基于matlab遗传算法和模拟退火求解带时间窗自行车调度问题【含Matlab源码 370期】
  10. 领英使用手册—管理,使用领英linkedin账号的技巧方法
  11. python下载不了怎么回事_python怎么下载
  12. AutoRobot微信/QQ定时自动发
  13. Java逐帧动画播放器V0.1.0
  14. KVM磁盘格式转换,raw转qcow2
  15. 【物理学】扫描隧道显微镜(Scanning Tunneling Microscope)
  16. UE4 UMG多行文本
  17. DSP28377s系统时钟配置注意事项
  18. linux系统 插优盘安装xvidcap,Linux屏幕录像软件xvidcap的安装方法
  19. Arduino IDE+_Attiny13/85实践(一) IED环境配置
  20. 简单、强大的swig.js

热门文章

  1. CICS FILE OPEN
  2. NARF 特征点提取
  3. 排序之二分查找插入排序算法
  4. jq 浏览器窗口大小发生变化时
  5. Servlet深入服务之响应response
  6. WPF: x名称空间
  7. Linux IP怎么设置
  8. QT QTableWidget 用法总结
  9. 在DLL编程中调用模版类时出现的类似class“XXX”需要有 dll 接口由 class“XXX”的客户端使用的warning的解决方案...
  10. Servlet--02--xml文件配置