excel简单操作(一)xlrd,xlwt, openpyxl

读取excle

1.打开工作簿

xlsx = xlrd.open_workbook('tt.xlrs')
  1. 打开工作表方式两种
  • table = xlsx.sheet_by_index('sheet下标')
  • table=xlsx.sheet_by_name('表明')

3.读取任意单元格

  • 单元格 table.cell_value(行, 列)eg table.cell_value(1, 5)

  • 单元格 table.cell(行,列).value()eg table.cell(1, 5).value

  • 单元格 table.row(行).[列].value()eg table.row(1).[5].value()
    import xlrd

    xlsx = 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

  1. 新建工作簿

  2. 向工作簿中添加一个工作表,并命名表明

  3. 向工作表中某一个单元格写入内容(行, 列,内容)

  4. 保存为整个工作簿

    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一个模板格式复制到新建的工作簿中

  1. 导入xlutils的库,因为要复制模板,所以导入copy功能
  2. 打开工作簿,复制工作表
  3. 样式,
    字体:字体、下划线、加粗、字体(字号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

追加写入的库,
优点:填充二维比较方便
缺点:性能不稳定

  1. 打开已有工作簿

    工作簿 = openpyxl.load_workbook('路径')
    
  2. 打开工作表

      工作表 = 工作簿['工作表明']
    
  3. 向某个表格写入数据(单元格坐标如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')
  1. 新建工作簿,读取自带的工作表
  2. 打开图片
  3. 导出每个像素
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')


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部