【笔记】爬虫基础_数据存储_03_读取、编写Excel文件

在爬虫开发中,我们主要关注Excel文件的读写,不会过多关心Excel中的一些样式。如果想要读写 Excel文件,需要借助到两个库xlrd和xlwt,其中xlrd是用于读的,xlwt是用于写的,安装命令如下:
pip install xlrd
pip install xlwt

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

打开Excel文件:

import xlrd
workboook = xlrd.open("成绩表")

获取Sheet:

# 获取所有sheet的名字
sheet_names = workbook.sheet_names()
# 根据索引获取指定的sheet对象:
sheet = workbook.sheet_by_index(1)
# 根据名称获取指定的sheet对象
sheet = workbook.sheet_by_name("2班")
# 获取所有的sheet对象
sheets = workbook.sheets()
# 获取指定sheet的行数和列数
sheet = workbook.sheet_by_index(0)
print({"rows": sheet.nrows, "cols": sheet.ncols})

获取Cell及其属性:

from xlrd.sheet import Cell
sheet = workbook.sheet_by_index(0)

# 1.sheet.cell(row,col):获取指定行和列的cell对象
cell_01 = sheet.cell(1, 1)

# 2. sheet.row_slice(row,start_col,end_col):获取指定行的某几列的cell对象
cells_01 = sheet.row_slice(1, 1, 4)
for cell in cells_01:
	print(cell.value)
	
# 3. sheet.col_slice(col,start_row,end_row):获取指定列的某几行的cell对象。
cells_02 = sheet.col_slice(0, 1, sheet.nrows)
for cell in cells_02:
	print(cell.value)

# 4. sheet.cell_value(row,col):获取指定行和列的值。
cell_value = sheet.cell_value(1, 1)

# 5. sheet.row_values(row,start_col,end_col):获取指定行的某几列的值。
cell_values_01 = sheet.row_values(1, 1, sheet.ncols)

# 6. sheet.col_values(col,start_row,end_row):获取指定列的某几行的值。
cell_values_02 = sheet.col_values(1, 1, sheet.nrows)

Cell的数据类型:

  1. xlrd.XL_CELL_TEXT(Text):文本类型。
  2. xlrd.XL_CELL_NUMBER(Number):数值类型。
  3. xlrd.XL_CELL_DATE(Date):日期时间类型。
  4. xlrd.XL_CELL_BOOLEAN(Bool):布尔类型。
  5. xlrd.XL_CELL_EMPTY:空白数据类型。

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

写入Excel文件
步骤:

  1. 导入xlwt模块。
import xlwt
  1. 创建一个Workbook对象。
workbook = xlwt.Workbook()
  1. 创建一个Sheet对象。
sheet = workbook.add_sheet("sheeet_1")
  1. 把数据写入到Sheet下指定行和列中。
    如果想要在原来workbook对象上添加新的cell,那么需要调用put_cell来添加。
import random
headers = ['姓名', '语文', '英语', '数学']
for index, header in enumerate(headers):
    sheet.write(0, index, header)
    
names = ['张三', '李四', '王五']
for index, name in enumerate(names):
    sheet.write(index+1, 0, name)

for row in range(1, 4):
    for col in range(1, 4):
        sheet.write(row, col, random.randint(1, 100))
  1. 保存成 Excel文件。
workbook.save("成绩表1.xls")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值