我是靠谱客的博主 落后舞蹈,最近开发中收集的这篇文章主要介绍python3操作excel安装第三方包读取数据(xlrd)写入数据(xlwt)编辑数据(xlrd,xlutils)编辑数据(openpyxl),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
安装第三方包
xlrd、xlwt、xlutils:支持xls和xlsx
openpyxl:只支持xlsx
pip install xlrd
pip install xlwt
pip install xlutils
pip install openpyxl
读取数据(xlrd)
读取数据
#coding:utf-8
import xlrd
wb = xlrd.open_workbook('./资不抵债.xlsx')
sheet = wb.sheet_by_index(0)
# 依赖页签索引获取数据页
# sheet = wb.sheet_by_name('sheet1')
# 依赖页签名获取数据页
# print(sheet.get_rows())
print(sheet.ncols)
# 获取列数
print(sheet.nrows)
# 获取行数
print(sheet.cell_value(1,1))
# 获取单元格值
写入数据(xlwt)
只能新增xls表格数据,不能编辑已存在的xls
#coding:utf-8
import xlwt
workbook = xlwt.Workbook(encoding = 'utf-8')
# 设置文件编码格式
worksheet = workbook.add_sheet('My Worksheet')
# 添加sheet页
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 为样式创建字体
font.name = '仿宋gb2312'
font.bold = True # 黑体
font.underline = True # 下划线
font.italic = True # 斜体字
style.font = font # 设定样式
worksheet.write(0, 0, 'Unformatted value') # 不带样式的写入
worksheet.write(1, 0, 'Formatted value', style) # 带样式的写入
workbook.save('test.xls') # 保存文件
编辑数据(xlrd,xlutils)
# coding:utf-8
import xlrd
from xlutils.copy import copy
class DoExcel():
def __init__(self,filepath):
self.filepath = filepath
# 打开文件
self.data = xlrd.open_workbook(filepath)
self.sheet_data = self.data.sheet_by_index(0)
# 复制数据
self.new_data = copy(self.data)
def getRowNums(self):
row_num = len(self.sheet_data.nrows)
return row_num
def getColNums(self):
col_num = len(self.sheet_data.ncols)
return col_num
def getCellValue(self,row,col):
cell_value = self.sheet_data.cell_value(row - 1, col - 1)
return cell_value
# 原表基础上新增
def writeCellValue(self,row,col,value):
new_sheet = self.new_data.get_sheet(0)
new_sheet.write(row-1, col-1, value)
def saveValue(self):
# 保存修改后的数据
self.new_data.save(self.filepath)
编辑数据(openpyxl)
只能操作xlsx文件
读取编辑文件
#coding:utf-8
from openpyxl import Workbook
from openpyxl import load_workbook
work_book = load_workbook('./123.xlsx')
# 获取sheet页name,返回数组
print(work_book.sheetnames)
# 获取sheet页数据对象
sheet_data = work_book["Sheet1"]
print(dir(sheet_data))
print(sheet_data)
print(sheet_data.max_column)
print(sheet_data.max_column)
# 获取单元格内的值,cell内的索引从1开始
print(sheet_data.cell(1,1).value)
# 修改数据并保存
sheet_data.cell(1,1).value="二哈二哈 哈哈哈"
work_book.save('./资不抵债.xlsx')
新增文件
#coding:utf-8
from openpyxl import Workbook
from openpyxl import load_workbook
import datetime
# 实例化
new_wb = Workbook()
# 激活worksheet
new_data = new_wb.active
# 创建sheet页
# 方式一:插入到最后(default)
ws1 = new_wb.create_sheet("Mysheet1")
# 方式二:插入到最开始的位置
ws2 = new_wb.create_sheet("Mysheet2", 0)
# 插入值
# 方式一:数据可以直接分配到单元格中(可以输入公式)
new_data['A1'] = 42
# 方式二:可以附加行,从第一列开始附加(从最下方空白处,最左开始)(可以输入多行)
new_data.append([1, 2, 3])
# 方式三:Python 类型会被自动转换
new_data['A3'] = datetime.datetime.now().strftime("%Y-%m-%d")
# 编辑Mysheet2内数据
new_data2 = new_wb["Mysheet2"]
# 插入值
# 方式一:数据可以直接分配到单元格中(可以输入公式)
new_data2['A1'] = 42
# 方式二:可以附加行,从第一列开始附加(从最下方空白处,最左开始)(可以输入多行)
new_data2.append([1, 2, 3])
# 方式三:Python 类型会被自动转换
new_data2['A3'] = datetime.datetime.now().strftime("%Y-%m-%d")
# 覆盖修改
new_data2['A3'] = "锄禾 日当午"
# 保存至文件
new_wb.save('文件名称4.xlsx')
最后
以上就是落后舞蹈为你收集整理的python3操作excel安装第三方包读取数据(xlrd)写入数据(xlwt)编辑数据(xlrd,xlutils)编辑数据(openpyxl)的全部内容,希望文章能够帮你解决python3操作excel安装第三方包读取数据(xlrd)写入数据(xlwt)编辑数据(xlrd,xlutils)编辑数据(openpyxl)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复