本站使用了 Pjax 等基于 JavaScript 的开发技术,但您的浏览器已禁用 JavaScript,请开启 JavaScript 以保证网站正常显示!

Python文件读写 - xlsx读写操作基础

通过openpyxl模块对excel文件进行读写操作
官方:https://openpyxl.readthedocs.io/en/stable/
网友:https://blog.csdn.net/weixin_43094965/article/details/82226263

读取

import openpyxl

# 加载excel文件
file = 'abc.xlsx'
wb = openpyxl.load_workbook(file)

# 读取指定工作表
sheet = wb['sheet表名称']

# 读取所有工作表
sheet_all = wb.sheetnames # 生成列表 ['sheet1','sheet2',...]

# 读取单元格
a1_cell = sheet['a1']
a1_cell = sheet.cell(row = 1, column = 1)
    ## 生成元组

# 获取单元格的值
a1_val = a1_cell.value
print(a1_val)

获取最大行号

import openpyxl
wb = openpyxl.load_workbook('write.xlsx')
sheet = wb['sheet1']
max_num = sheet.max_row
x = sheet['b'+str(max_num)].value # 取b列最后一行的值

遍历列,行

import openpyxl
wb = openpyxl.load_workbook('write.xlsx')
sheet = wb['sheet1']
for i in sheet['a']: # 遍历a列, 这里得到的i是元组
    print(i.value)
for i in sheet[1]: # 遍历第1行, 得到的i也是元组 (1就是第1行,不用从0开始数)
    print(i.value)

# 下面的方法实现的结果和上面是一样的
# sheet.rows 读取excel的每一行数据
    # row = list(sheet.rows)[i]    读取第i行的数据
    # row.value    元组转换成值
# sheet.columns 读取excel的每一列数据
    # column = list(sheet.columns)[i] 读取第i列的数据
    # column.value 元组转换成值

for row in list(sheet.rows)[0]: # 遍历第1行
    print(row.value)
for column in list(sheet.columns)[0]: # 遍历第1列
    print(column.value) 

返回值所在的行号/列号/坐标

import openpyxl
wb = openpyxl.load_workbook('write.xlsx')
sheet = wb['sheet1']
a1_cell = sheet['a1']  # 这里还是元组, 如果转换成value就不能获取了
a1_row = a1_cell.row
a1_column = a1_cell.column
a1_coordinate = a1_cell.coordinate

数据写入单元格

import openpyxl
wb = openpyxl.Workbook() # 创建空白工作簿
sheet = wb.active # 获取活动的工作表, 默认为第一个sheet
sheet.title = '工作表' # 工作表重命名
# 写入某个单元格
sheet['a1'] = '我'
sheet.cell(row=5, column=5, value='这也是我输入的')
sheet.cell(row=5, column=5).value='输入')
# 写入一行
row = ['a','b','c']
sheet.append(row)
# 从第1行写入多行数据
rows = [['a','b'],['wang','12'],['zhang','22']]
for i in rows: # 一个list写入一行
    sheet.append(i)
# 从第4行写入多行数据
rows = [['a','b'],['wang','12'],['zhang','22']]
sheet['a3']='下面开始写入'
for i in rows: # 一个list写入一行
    sheet.append(i)

# 保存文件
wb.save('write.xlsx')

创建新sheet

import openpyxl
wb=openpyxl.load_workbook('new.xlsx')
wb.create_sheet(title='SheetName')
wb.save('new.xlsx')

样式修改

https://openpyxl.readthedocs.io/en/stable/styles.html

单元格样式

from openpyxl.styles import Font,Alignment

font = Font(name = '等线',bold = False, size = 10, color='2e75b5')
alignment = Alignment(horizontal='center',vertical='center',wrap_text=False) 

for cell in sheet1['a1':'b10']:
    for i in cell:
        i.font = font
        i.alignment = alignment

sheet颜色

ws.sheet_properties.tabColor = "1072BA"

 继续浏览关于 openpyxlxlsxexcel 的文章

 本文最后更新于:2020/01/11 14:20:44,可能因经年累月而与现状有所差异,有任何疑问可以随时与258771198@qq.com沟通,邮箱永久有效

 引用转载请注明:manacode > Python,Excel > Python文件读写 - xlsx读写操作基础

发现共鸣

如是说:这是傻瓜的血脉使然啊。