python读写excel的图片库_python读写excel

在工作中往往需要读取 excel 文件,但是读取 excel 的方式很多,本文只列举集中比较好用的读写 2003 或者 2007 的方法:

读取2007版本的excel

读取xlsx 需要用库 openpyxl , 安装方式: pip3 install openpyxl 。设置 excel 的路径:import openpyxl

openpyxl.excelPath = "F:/code/python/test.xlsx"

workBook=load_workbook(excelPath)

读取第一个 Sheet 表中的内容:# 仅仅读取Sheet1

workSheet = workBook.get_sheet_by_name("Sheet1")

这个库读取行和列是从 1 开始的,而不是从 0 开始的,所以设置初始的行和列都为 1 :# 行、列的初始值

rownum = 1

columnnum = 1

# 获取第一行第一列单元格的值

cell = workSheet.cell(row=rownum, column=columnnum).value

print(cell)

当然也可以读取第二个 Sheet 表中的内容,只要将 get_sheet_by_name 改成 Sheet2 就行了。

写入2007版本的excel

写入 xlsx 需要用到库 xlsxwriter ,安装方式 pip3 install xlsxwriter 。新建或者是打开某个 excel ,我这里是新建一个 excel :# 打开某个excel

with xlsxwriter.Workbook("F:/code/python/test1.xlsx") as workbook:

新建的 Sheet 的名字可以随便取,不是新建的要先读取当前 Sheet 的内容出来,再把自己的内容添加进去:# 设置Sheet的名字为haha

worksheet = workbook.add_worksheet("haha")

设置列首、行宽、列高:# 列首

title = ["id", "img", "label"]

worksheet.write_row('A1', title)

# B列列宽

worksheet.set_column("B:B", 32)

# 第i行的行高

worksheet.set_row(i, 150)

写入数据:# 数据

i=0

row = ["123","456","789"]

worksheet.write_row('A' + str(i + 1), row)

切记要关闭 excel :workbook.close()

如果想插入图片:from io import BytesIO

from urllib import request

url="https://www.tybai.com/static/jpg/head.jpg"

# 缓存图片

image_data = BytesIO(request.urlopen(url).read())

# 插入图片

worksheet.insert_image('A1',url,{'image_data': image_data})

读取2003版本的excel

读取xls 需要用库 xlrd , 安装方式: pip3 install xlrd 。设置 excel 的路径:excelPath = "F:/code/python/test.xls"

加载 excel :# 加载xlsx

wb = xlrd.open_workbook(excelPath)

读取第一个 Sheet 表中的内容:# 仅仅读取Sheet1

ws = wb.sheet_by_name("Sheet1")

这个库读取行和列是从 0 开始的,而不是从 1 开始的,所以设置初始的行和列都为 0 :# 行、列的初始值

rownum = 0

columnnum = 0

# 获取第一行第一列单元格的值

cel = ws.cell(rowx=rownum, colx=columnnum).value

print(cel)

当然也可以读取第二个 Sheet 表中的内容,只要将 sheet_by_name 改成 Sheet2 就行了。

附上源码:#!/usr/bin/env python

# -*- coding: utf-8 -*-

from openpyxl import load_workbook

import xlsxwriter

import xlrd

# ----------读取xlsx-----------

excelPath = "F:/code/python/test.xlsx"

# 加载xlsx

workBook = load_workbook(excelPath)

# 仅仅读取Sheet1

workSheet = workBook.get_sheet_by_name("Sheet1")

# 行、列的初始值

rownum = 1

columnnum = 1

# 获取第一行第一列单元格的值

cell = workSheet.cell(row=rownum, column=columnnum).value

print(cell)

# ----------写入xlsx-----------

# 打开某个excel

with xlsxwriter.Workbook("F:/code/python/test1.xlsx") as workbook:

# 设置Sheet的名字为haha

worksheet = workbook.add_worksheet("haha")

# 行、列的初始值

rownum = 0

columnnum = 0

# 依次写入每个单元格

worksheet.write(rownum, columnnum, "one")

workbook.close()

# ----------读取xls-----------

excelPath = "F:/code/python/test.xls"

# 加载xlsx

wb = xlrd.open_workbook(excelPath)

# 仅仅读取Sheet1

ws = wb.sheet_by_name("Sheet1")

# 行、列的初始值

rownum = 0

columnnum = 0

# 获取第一行第一列单元格的值

cel = ws.cell(rowx=rownum, colx=columnnum).value

print(cel)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值