python提取excel数据-使用Python从Excel获取运营数据

现有的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数据文件为例,介绍该库的具体应用。数据概览如图所示:

python提取excel数据-使用Python从Excel获取运营数据_第1张图片

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数据分析与数据化运营》第二版出版了!要购买此书,可以去京东、当当和天猫等查看。

第二版封面2.jpg

你可能感兴趣的:(python提取excel数据-使用Python从Excel获取运营数据)