读取excle
1.打开工作簿
xlsx = xlrd.open_workbook('tt.xlrs')
- 打开工作表方式两种
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 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 = 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
追加写入的库,
优点:
填充二维比较方便
缺点:
性能不稳定
-
打开已有工作簿
工作簿 = openpyxl.load_workbook('路径')
-
打开工作表
工作表 = 工作簿['工作表明']
-
向某个表格写入数据(单元格坐标如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')
- 新建工作簿,读取自带的工作表
- 打开图片
- 导出每个像素
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')