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

border = xlwt.Borders()
border.top = xlwt.Borders.THIN
# left\bottom\right
style.borders = border

alignment = xlwt.Alignment()
alignment.horz = xlwt.Alignment.HORZ_CENTER
alignment.vert = xlwt.Alignment.VERT_CENTER
style.alignment = alignment

new_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 openpyxl

workbook = openpyxl.load_workbook('001.xlsx')
sheet0 = workbook['new_sheet']
sheet0['B3'] = 5
sheet0['A4'] = 3
workbook.save('thre.xlsx')

查看某个盘或者某个文件夹下所有文件,并写入excel

import os
import xlwt

file_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 Image

workbook = Workbook()
worksheet = workbook.active

im = 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]) 颜色红绿蓝rgb
        fill = 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')
发布了192 篇原创文章 · 获赞 34 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/a6864657/article/details/103640318
今日推荐