excel简单操作(一)xlrd,xlwt, openpyxl
读取excle
1.打开工作簿
xlsx = xlrd.open_workbook('tt.xlrs')
- 打开工作表方式两种
table = xlsx.sheet_by_index('sheet下标')table=xlsx.sheet_by_name('表明')
3.读取任意单元格
-
单元格
table.cell_value(行, 列),egtable.cell_value(1, 5) -
单元格
table.cell(行,列).value(),egtable.cell(1, 5).value -
单元格
table.row(行).[列].value(),egtable.row(1).[5].value()
import xlrdxlsx = xlrd.open_workbook('frist.xls') table = xlsx.sheet_by_index(0) table = xlsx.sheet_by_name('new_sheet') content = table.cell_value(0, 0)
写入excle
-
新建工作簿
-
向工作簿中添加一个工作表,并命名表明
-
向工作表中某一个单元格写入内容(行, 列,内容)
-
保存为整个工作簿
import xlwt new_workbook = xlwt.Workbook() worksheet = new_workbook.add_sheet('new_sheet') worksheet.write(0,0, 'hello world') new_workbook.save('frist.xls')
excle格式
pip install xlutils
xlutils: 将excel一个模板格式复制到新建的工作簿中
- 导入xlutils的库,因为要复制模板,所以导入copy功能
- 打开工作簿,复制工作表
- 样式,
字体:字体、下划线、加粗、字体(字号x20)
边框:上下左右框、粗实线、细线、点划线
对齐:水平居中、垂直居中、左对齐、右对齐
#--coding:utf-8--
from xlutils.copy import copy
import xlrd
import xlwt
tem_excel = xlrd.open_workbook('frist.xls', formatting_info=True)
tem_sheet = tem_excel.sheet_by_index(0)new_excle = copy(tem_excel)
new_sheet = new_excle.get_sheet(0)style = xlwt.XFStyle()
font = xlwt.Font()
font.name = '微软雅黑'
font.bold = True
font.height = 480
style.font = fontborder = xlwt.Borders()
border.top = xlwt.Borders.THIN
# left\bottom\right
style.borders = borderalignment = xlwt.Alignment()
alignment.horz = xlwt.Alignment.HORZ_CENTER
alignment.vert = xlwt.Alignment.VERT_CENTER
style.alignment = alignmentnew_sheet.write(3, 3, '你好世界', style)
new_excle.save('sen.xls')
table.nrows 某个表的总行数
xlwt 列数不能超过256
xlsxwriter
优点:xlwt写入 列数不能超过256,可以用xlsxwriter库
缺点:不支持格式
import xlsxwriter as xw
workbook = xw.Workbook('tt.xlsx')
sheet0 = workbook.add_worksheet('sheet0')
for i in range(0, 30):sheet0.write(0, i, i)
workbook.close()
openpyxl
追加写入的库,
优点:填充二维比较方便
缺点:性能不稳定
-
打开已有工作簿
工作簿 = openpyxl.load_workbook('路径') -
打开工作表
工作表 = 工作簿['工作表明'] -
向某个表格写入数据(单元格坐标如A3、B4)
工作表明['单元格'] = 值
import openpyxlworkbook = openpyxl.load_workbook('001.xlsx')
sheet0 = workbook['new_sheet']
sheet0['B3'] = 5
sheet0['A4'] = 3
workbook.save('thre.xlsx')
查看某个盘或者某个文件夹下所有文件,并写入excel
import os
import xlwtfile_dir = 'c:/'
new_workbook = xlwt.Workbook()
worksheet = new_workbook.add_sheet('fname')i = 0
for each in os.listdir(file_dir):worksheet.write(i, 0, each)i += 1
new_workbook.save('file_name.xls')
- 新建工作簿,读取自带的工作表
- 打开图片
- 导出每个像素
from openpyxl import Workbook
from openpyxl.utils import get_column_letter
from openpyxl.styles import PatternFill, Color
from PIL import Imageworkbook = Workbook()
worksheet = workbook.activeim = Image.open('扎心.jpeg')
im_width = im.size[0]
im_height = im.size[1]
pix = im.load()
for row in range(1, im_height): # 每一行for col in range(1, im_width): # 列cell = worksheet.cell(column=col, row=row) # 每一个单元格位置pixpoint = pix[col - 1, row - 1] # 每一个像素点pixColor = 'FF%02X%02X%02X' % (pixpoint[0], pixpoint[1], pixpoint[2]) 颜色红绿蓝rgbfill = PatternFill(patternType='solid', fgColor=Color(rgb=pixColor)) # 设置颜色cell.fill = fill 填充颜色worksheet.row_dimensions[row].height = 6 # 设置单元格高for col in range(1, im_width):# 设置单元格宽worksheet.column_dimensions[get_column_letter(col)].width = 1
workbook.save('bla.xls')
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
