首页 > 其他 > 详细

excel相关

时间:2020-03-22 22:31:00      阅读:61      评论:0      收藏:0      [点我收藏+]

xlrd   openpyxl  库

应该是自带了,反正我是没安装,csv也可制作表格,关于csv以后介绍

基本操作

 

技术分享图片
import xlrd
book = xlrd.open_workbook(filename)
book.nsheets   # 表单数量
book.sheet_names()  # 表单名



要读取某个表单里单元格中的数据,必须要先获取 表单(sheet)对象 。
# 表单索引从0开始,获取第一个表单对象
book.sheet_by_index(0)

# 获取名为2018的表单对象
book.sheet_by_name(2018)

# 获取所有的表单对象,放入一个列表返回
book.sheets()
官方文档:https://xlrd.readthedocs.io/en/latest/api.html#xlrd-sheet


表单行数(nrows)
列数(ncols)
表单名(name)
表单索引(number)




‘‘‘
book = xlrd.open_workbook("income.xlsx")

sheet = book.sheet_by_index(0)
sheet.name
sheet.number
sheet.nrows
sheet.ncols
‘‘‘

cell_value 方法,参数为行号和列号,读取指定单元格中的文本内容。

sheet.cell_value(rowx=0, colx=0)

row_values 方法,参数为行号,读取指定行所有单元格的内容,存放在一个列表中返回。

sheet.row_values(rowx=0)

col_values 方法,参数为列号,读取指定列所有单元格的内容,存放在一个列表中返回。

sheet.col_values(colx=0)
其他参数可自己看源码 =_=

 

 

技术分享图片
import openpyxl

# 创建一个Excel workbook 对象
book = openpyxl.Workbook()

# 创建时,会自动产生一个sheet,通过active获取
sh = book.active

# 修改当前 sheet 标题为 工资表
sh.title = 工资表

# 保存文件
book.save(信息.xlsx)





# 增加一个名为 ‘年龄表‘ 的sheet,放在最后
sh1 = book.create_sheet(年龄表-最后)

# 增加一个 sheet,放在最前
sh2 = book.create_sheet(年龄表-最前,0)

# 增加一个 sheet,指定为第2个表单
sh3 = book.create_sheet(年龄表2,1)

# 根据名称获取某个sheet对象
sh = book[工资表]





# 给第一个单元格写入内容
sh[A1] = 你好

# 获取某个单元格内容
print(sh[A1].value)

# 根据行号列号, 给第一个单元格写入内容,
# 注意和 xlrd 不同,是从 1 开始
sh.cell(2,2).value = zzz

# 根据行号列号, 获取某个单元格内容
print(sh.cell(1, 1).value)

book.save(信息.xlsx)




name2Age = {
    张飞 :  38,
    赵云 :  27,
    许褚 :  36,
    典韦 :  38,
    关羽 :  39,
    黄忠 :  49,
    徐晃 :  43,
    马超 :  23,
}

# 创建一个Excel workbook 对象
book = openpyxl.Workbook()

# 创建时,会自动产生一个sheet,通过active获取
sh = book.active

sh.title = 年龄表

# 写标题栏
sh[A1] =  姓名
sh[B1] =  年龄

# 写入内容
row = 2

for name,age in name2Age.items():
    sh.cell(row, 1).value = name
    sh.cell(row, 2).value = age
    row += 1

# 保存文件
book.save(信息.xlsx)

 

 

技术分享图片
import openpyxl

# 加载 excel 文件
wb = openpyxl.load_workbook(income.xlsx)

# 得到sheet对象
sheet = wb[2017]

sheet[A1] = 修改一下

## 指定不同的文件名,可以另存为别的文件
wb.save(income-1.xlsx)



insert_rows 和 insert_cols 方法,分别用来插入 行 和 列

wb = openpyxl.load_workbook(income.xlsx)
sheet = wb[2018]

# 在第2行的位置插入1行
sheet.insert_rows(2)

# 在第3行的位置插入3行
sheet.insert_rows(3,3)

# 在第2列的位置插入1列
sheet.insert_cols(2)

# 在第2列的位置插入3列
sheet.insert_cols(2,3)






delete_rows 和 delete_cols 方法,分别用来插入 行 和 列

wb = openpyxl.load_workbook(income.xlsx)
sheet = wb[2018]

# 在第2行的位置删除1行
sheet.delete_rows(2)

# 在第3行的位置删除3行
sheet.delete_rows(3,3)

# 在第2列的位置删除1列
sheet.delete_cols(2)

# 在第3列的位置删除3列
sheet.delete_cols(3,3)

 

 

技术分享图片
文字     颜色、字体、大小、下划线 等

import openpyxl
# 导入Font对象 和 colors 颜色常量
from openpyxl.styles import Font,colors

wb = openpyxl.load_workbook(income.xlsx)
sheet = wb[2018]

# 指定单元格字体颜色,
sheet[A1].font = Font(color=colors.RED, #使用预置的颜色常量
                        size=15,    # 设定文字大小
                        bold=True,  # 设定为粗体
                        italic=True # 设定为斜体
                        )

# 也可以使用RGB数字表示的颜色
sheet[B1].font = Font(color="981818")

# 指定整行 字体风格, 这里指定的是第3行
font = Font(color="981818")
for y in range(1, 100): # 第 1 到 100 列
    sheet.cell(row=3, column=y).font = font

# 指定整列 字体风格, 这里指定的是第2列
font = Font(bold=True)
for x in range(1, 100): # 第 1 到 100 行
    sheet.cell(row=x, column=2).font = font

wb.save(income-1.xlsx)


背景色

import openpyxl
# 导入Font对象 和 colors 颜色常量
from openpyxl.styles import PatternFill

wb = openpyxl.load_workbook(income.xlsx)
sheet = wb[2018]

# 指定 某个单元格背景色
sheet[A1].fill = PatternFill("solid", "E39191")

# 指定 整行 背景色, 这里指定的是第2行
fill = PatternFill("solid", "E39191")
for y in range(1, 100): # 第 1 到 100 列
    sheet.cell(row=2, column=y).fill = fill

wb.save(income-1.xlsx)


插入图片


import openpyxl
from openpyxl.drawing.image import Image

wb = openpyxl.load_workbook(income.xlsx)
sheet = wb[2018]

# 在第1行,第4列 的位置插入图片
sheet.add_image(Image(1.png), D1)

## 指定不同的文件名,可以另存为别的文件
wb.save(income-1.xlsx)
其他

 

excel相关

原文:https://www.cnblogs.com/JcrLive/p/12548679.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!