数据存储,一文总结Python读写excel文档(上)

在应用python爬取数据的过程中,往往需要存储数据,而除开应用数据库存储数据以外,excel格式应该算是比较常用的存储格式,而关于excel文档数据的读写,在python中实现的方法有很多,概因python强大的第三方库。

这里本渣渣以过往爬取数据的坑,为大家简单总结Python读写excel文档的方法,仅供参考,毕竟本渣渣菜的很!!

涉及到篇幅,这里先给出上篇,即读取excel的方法!

其实是本渣渣准备跑路了,so,so...

读取excel表格数据

这里本渣渣准备了一个简单的excel表格数据,如图示例:

网上有很多相关教程方法,但是都找不到示例的表格数据,这里本渣渣把表格数据和示例代码一起打包给各位老哥,供老哥们学习和参考使用!

源码及excel示例文件打包 

关注本渣渣公众号:二爷记

后台回复: 读取表格

即可获取所有文件

方法一:openpyxl 读取Excel表格数据
#openpyxl读取Excel表格数据
# -*- coding: UTF-8 -*-
#@author:微信:huguo00289
#20210330
import openpyxl #导入模块openpyxl

wb = openpyxl.load_workbook('code.xlsx') #获取表格文件

#获取表格里的表文件sheet
sheets = wb.sheetnames
print(sheets)

#获取表文件指定的sheet
ws = wb[sheets[0]]
print(ws)

#获取某个单元格数据,比如获取A1的值
print(ws['A1'].value)

# 读取指定的某一行单元格数据,比如获取A1的值
cell = ws.cell(row=1, column=1).value
print(cell)

# 获取最大行数
print(ws.max_row)
# 获取最大列数
print(ws.max_column)
# 按列读取所有数据,每一列的单元格放入一个元组中
print(ws.columns)  # 直接打印,打印结果是一个可迭代对象,我们可以转换成列表来查看

# 按行读取所有数据,每一行的单元格放入一个元组中
rows = ws.rows
# 我们可以通过for循环以及value来查看单元格的值
for row in list(rows): # 遍历每行数据
    case = [] # 用于存放一行数据
    for c in row: # 把每行的每个单元格的值取出来,存放到case里
        case.append(c.value)
        print(case)

#使用for循环获取表格所有数据
all_content=[]
for i in range(1, ws.max_row+1):
    row_content = []
    for j in range(1, ws.max_column+1):
        value = ws.cell(row=i, column=j).value
        row_content.append(value)
    all_content.append(row_content)
    print(row_content)
    print('*******************************************************')
print(all_content)
print('===========================================================')

运行效果:

方法二:xlrd 读取Excel表格数据

# xlrd读取Excel表格数据
# -*- coding: UTF-8 -*-
#@author:微信:huguo00289
#20210330
import xlrd #导入模块 xlrd

# 打开文件
wb = xlrd.open_workbook('code.xlsx')
# 获取所有sheet
sheets=wb.sheet_names()
print(sheets) # [u'sheet1', u'sheet2']
#获取表sheet
sh= wb.sheet_by_name(sheets[0])
#获取表sheet名
print(sh.name)
#获取表sheet行数
print(sh.nrows)
#获取表sheet列数
print(sh.ncols)

# 获取单元格内容
print(sh.cell(1, 0).value)
print(sh.row(1)[0].value)

# 获取整行和整列的值(数组)
rows = sh.row_values(3)  # 获取第四行内容
print(rows)
cols = sh.col_values(1)  # 获取第二列内容
print(cols)

# 获取所有行数据
for rx in range(sh.nrows):
  # rx 行
  print(sh.row(rx))

# 获取所有行数据
for rx in range(sh.nrows):
    print(sh.row_values(rx))


运行效果:

方法三:pandas读取excel表格数据
# pandas读取excel表格数据
# -*- coding: UTF-8 -*-
#@author:微信:huguo00289
#20210330

import pandas as pd

df=pd.read_excel('code.xlsx') #默认读取excel的第一个表单sheet1
df2=pd.read_excel('code.xlsx',sheet_name='028beauty.cn') #通过指定表单方式获取

#默认读取前5行数据
data=df.head()
print(data)

#获取表格相关信息,行数,列数
height,width = df.shape
print(height,width,type(df))

#读取某一列数据信息
fss=df['网址']
print(fss)
#读取某一列某个数据
print(fss[5])
#读取某一列数据
fs=fss.values
print(fs)
fs=list(fs) #转换为列表
print(fs)

运行效果:

·················END·················

你好,我是二大爷,

革命老区外出进城务工人员,

互联网非早期非专业站长,

喜好python,写作,阅读,英语

不入流程序,自媒体,seo . . .

公众号不挣钱,交个网友。

读者交流群已建立,找到我备注 “交流”,即可获得加入我们~

听说点 “在看” 的都变得更好看呐~

关注关注二大爷呗~给你分享python,写作,阅读的内容噢~

扫一扫下方二维码即可关注我噢~

关注我的都变秃了

说错了,都变强了!

不信你试试

扫码关注最新动态

公众号ID:eryeji

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值