返回列表 发帖

Windows下Python3管理Excel表+绘图库Matplotlib

例子一:
创建一个Excel表的脚本:

脚本内容:(C:\Users\jacky\Desktop\xx.py)
#coding=utf-8
import xlwt

wbk = xlwt.Workbook()

sheet = wbk.add_sheet('苹果') #添加一个工作表,名称为“苹果”

sheet.write(0,0,'苹果一周销量情况(斤)') #往第1行第1列写入内容

sheet.write(1,0,'星期一') #往第2行第1列写入内容
sheet.write(1,1,'星期二') #往第2行第2列写入内容
sheet.write(1,2,'星期三') #往第2行第3列写入内容
sheet.write(1,3,'星期四')
sheet.write(1,4,'星期五')
sheet.write(1,5,'星期六')
sheet.write(1,6,'星期日')

A1 = 10
A2 = 20
A3 = 30
A4 = 50
A5 = 40
A6 = 60
A7 = 70
sheet.write(2,0,A1) #往第3行第1列写入内容
sheet.write(2,1,A2) #往第3行第2列写入内容
sheet.write(2,2,A3) #往第3行第3列写入内容
sheet.write(2,3,A4)
sheet.write(2,4,A5)
sheet.write(2,5,A6)
sheet.write(2,6,A7)

###

sheet = wbk.add_sheet("") #再添加一个工作表,名称为“梨”

sheet.write(0,0,'梨一周销量情况(公斤)') #往第1行第1列写入内容

sheet.write(1,0,'星期一') #往第2行第1列写入内容
sheet.write(1,1,'星期二') #往第2行第2列写入内容
sheet.write(1,2,'星期三') #往第2行第3列写入内容
sheet.write(1,3,'星期四')
sheet.write(1,4,'星期五')
sheet.write(1,5,'星期六')
sheet.write(1,6,'星期日')

A1 = 10.3
A2 = 20.4
A3 = 30.7
A4 = 50.9
A5 = 40
A6 = 60
A7 = 70
sheet.write(2,0,A1) #往第3行第1列写入内容
sheet.write(2,1,A2) #往第3行第2列写入内容
sheet.write(2,2,A3)
sheet.write(2,3,A4)
sheet.write(2,4,A5)
sheet.write(2,5,A6)
sheet.write(2,6,A7)

wbk.save('d:/share/销售登记表_2019.xls') #保存Excel表  


运行脚本的效果:
C:\Users\jacky>cd Desktop

C:\Users\jacky\Desktop>python xx.py

C:\Users\jacky\Desktop>


新生成的Excel表:
图片1.png

图片2.png

图片3.png





######

例子二:
更改指定工作表的指定单元格的内容、样式的脚本:

脚本内容:
#coding=utf-8
import xlwt
import xlrd
from xlutils.copy import copy

file_1 = 'd:/share/销售登记表_2019.xls' #指定Excel表

workbook = xlrd.open_workbook(file_1,formatting_info=True) #保持原有的样式
workbooknew = copy(workbook)

sheet_1 = '苹果' #指定工作表
ws = workbooknew.get_sheet(sheet_1)

style_1 = xlwt. XFStyle()

font_1 = xlwt.Font()  
font_1.name = 'Calibri' # 设置主题字体
font_1.colour_index = 4 # 设置字体颜色;4 代表蓝色
font_1.height = 200 # 设置字体大小

style_1.font = font_1

Key_1 = '星期一'
ws.write(1, 0, Key_1,style_1) #往第2行第1列更改内容、字体样式

workbooknew.save(file_1)
print('Update successful.')


运行脚本的效果:
C:\Users\jacky\Desktop>python xx.py
Update successful.

C:\Users\jacky\Desktop>

图片4.png





######

例子三:
更改指定工作表的指定单元格的内容、样式的脚本:

脚本内容:
#coding=utf-8
import xlwt
import xlrd
from xlutils.copy import copy

file_1 = 'd:/share/销售登记表_2019.xls' #指定Excel表

workbook = xlrd.open_workbook(file_1,formatting_info=True) #保持原有的样式
workbooknew = copy(workbook)

sheet_1 = 0
ws = workbooknew.get_sheet(sheet_1) #定位到第1页的工作表;从0开始计算的

style_1 = xlwt. XFStyle()

font_1 = xlwt.Font()  
font_1.name = 'Arial' # 设置主题字体
font_1.colour_index = 4 # 设置字体颜色;4 代表蓝色
font_1.height = 200 # 设置字体大小
font_1.bold = True # 设置字体为粗体

style_1.font = font_1

Key_1 = '星期二'
ws.write(1, 1, Key_1,style_1) #往第2行第2列更改内容、字体样式

###

style_2 = xlwt. XFStyle()

font_2 = xlwt.Font()  
font_2.name = 'Calibri'# 设置主题字体
font_2.colour_index = 6 # 设置字体颜色;6 代表紫色
font_2.height = 200 # 设置字体大小
font_2.italic = True # 设置字体为倾斜

style_2.font = font_2

Key_2 = '周三'
ws.write(1, 2, Key_2,style_2) #往第2行第3列更改内容、字体样式

workbooknew.save(file_1)
print('Update successful.')


运行脚本的效果:
C:\Users\jacky\Desktop>python xx.py
Update successful.

C:\Users\jacky\Desktop>

图片5.png





######

例子四:
更改指定工作表的指定单元格的内容、样式的脚本:

脚本内容:
#coding=utf-8
import xlwt
import xlrd
from xlutils.copy import copy

file_1 = 'd:/share/销售登记表_2019.xls' #指定Excel表

workbook = xlrd.open_workbook(file_1,formatting_info=True) #保持原有的样式
workbooknew = copy(workbook)

sheet_1 = 0
ws = workbooknew.get_sheet(sheet_1) #定位到第1页的工作表;从0开始计算的

style_1 = xlwt. XFStyle()

font_1 = xlwt.Font()  
font_1.name = 'Arial' # 设置主题字体
font_1.colour_index = 0 # 设置字体颜色;0 代表黑色
font_1.height = 200 # 设置字体大小

style_1.font = font_1

Key_1 = '星期二'
ws.write(1, 1, Key_1,style_1) #往第2行第2列更改内容、字体样式

workbooknew.save(file_1)
print('Update successful.')


运行脚本的效果:
C:\Users\jacky\Desktop>python xx.py
Update successful.

C:\Users\jacky\Desktop>

图片6.png
备注:第2行第2列的单元格的字体粗体不见了。





######

例子五:
更改指定工作表的指定单元格的内容、样式的脚本:(合并单元格)

脚本内容:
#coding=utf-8
import xlwt
import xlrd
from xlutils.copy import copy

file_1 = 'd:/share/销售登记表_2019.xls' #指定Excel表

workbook = xlrd.open_workbook(file_1,formatting_info=True) #保持原有的样式
workbooknew = copy(workbook)

sheet_1 = 0
ws = workbooknew.get_sheet(sheet_1) #定位到第1页的工作表;从0开始计算的

style_1 = xlwt.XFStyle()

font_1 = xlwt.Font()  
font_1.name = 'Calibri' # 设置主题字体
font_1.colour_index = 3 # 设置字体颜色;3 代表绿色
font_1.height = 200 # 设置字体大小

style_1.font = font_1

Key_1 = '苹果一周销量情况(公斤)'
ws.write_merge(0, 0, 0, 6, Key_1, style_1) #单元格合并后写入内容

workbooknew.save(file_1)
print('Update successful.')


运行脚本的效果:
C:\Users\jacky\Desktop>python xx.py
Update successful.

C:\Users\jacky\Desktop>

图片7.png





######

例子六:
更改指定工作表的指定单元格的内容、样式的脚本:(合并的单元格)

脚本内容:
#coding=utf-8
import xlwt
import xlrd
from xlutils.copy import copy

file_1 = 'd:/share/销售登记表_2019.xls' #指定Excel表

workbook = xlrd.open_workbook(file_1,formatting_info=True) #保持原有的样式
workbooknew = copy(workbook)

sheet_1 = '苹果' #指定工作表
ws = workbooknew.get_sheet(sheet_1)

style_1 = xlwt.XFStyle()

alignment_1 = xlwt.Alignment()
alignment_1.horz = 0x02
alignment_1.vert = 0x01

style_1.alignment = alignment_1 # 设置字体居中

Key_1 = '苹果一周销量情况(公斤)'
ws.write(0, 0, Key_1, style_1) #往合并了的单元格合写入内容

workbooknew.save(file_1)
print('Update successful.')


运行脚本的效果:
C:\Users\jacky\Desktop>python xx.py
Update successful.

C:\Users\jacky\Desktop>

图片8.png





######

例子七:
更改指定工作表的指定单元格的内容、样式的脚本:(合并单元格)

脚本内容:
#coding=utf-8
import xlwt
import xlrd
from xlutils.copy import copy

file_1 = 'd:\\share\\销售登记表_2019.xls' #指定Excel表

workbook = xlrd.open_workbook(file_1,formatting_info=True) #保持原有的样式
workbooknew = copy(workbook)

sheet_1 = 1
ws = workbooknew.get_sheet(sheet_1) #定位到第2页的工作表;从0开始计算的

style_1 = xlwt.XFStyle()

alignment_1 = xlwt.Alignment()
alignment_1.horz = 0x02
alignment_1.vert = 0x01

style_1.alignment = alignment_1 # 设置字体居中

font_1 = xlwt.Font()  
font_1.name = 'Calibri' # 设置主题字体
font_1.colour_index = 2 # 设置字体颜色;1 代表白色,2 代表红色
font_1.height = 200 # 设置字体大小

style_1.font = font_1

Key_1 = '梨一周销量情况(公斤)'
ws.write_merge(0, 0, 0, 6, Key_1, style_1) #单元格合并后写入内容

workbooknew.save(file_1)
print('Update successful.')


运行脚本的效果:
C:\Users\jacky\Desktop>python xx.py
Update successful.

C:\Users\jacky\Desktop>

图片9.png





######

例子八:
更改指定工作表的指定单元格的内容的脚本:(合并的单元格)

脚本内容:
#coding=utf-8
import xlrd
from xlutils.copy import copy

file_1 = 'd:/share/销售登记表_2019.xls' #指定Excel表

workbook = xlrd.open_workbook(file_1,formatting_info=True) #保持原有的样式
workbooknew = copy(workbook)

sheet_1 = '梨' #指定工作表
ws = workbooknew.get_sheet(sheet_1)

Key_1 = '香蕉一周销量情况(公斤)'
ws.write(0, 0, Key_1) #往第1行第1列更改内容

workbooknew.save(file_1)
print('Update successful.')


运行脚本的效果:
C:\Users\jacky\Desktop>python xx.py
Update successful.

C:\Users\jacky\Desktop>

图片10.png





######

例子九:
更改指定工作表的指定单元格的内容、样式的脚本:(合并的单元格)

脚本内容:
#coding=utf-8
import xlwt
import xlrd
from xlutils.copy import copy

file_1 = 'd:/share/销售登记表_2019.xls' #指定Excel表

workbook = xlrd.open_workbook(file_1,formatting_info=True) #保持原有的样式
workbooknew = copy(workbook)

sheet_1 = '梨' #指定工作表
ws = workbooknew.get_sheet(sheet_1)

style_1 = xlwt.XFStyle()

alignment_1 = xlwt.Alignment()
alignment_1.horz = 0x02
alignment_1.vert = 0x01

style_1.alignment = alignment_1 # 设置字体居中

font_1 = xlwt.Font()  
font_1.name = 'Calibri' # 设置主题字体
font_1.colour_index = 2 # 设置字体颜色;1 代表白色,2 代表红色
font_1.height = 200 # 设置字体大小

style_1.font = font_1

Key_1 = '香蕉一周销量情况(公斤)'
ws.write(0, 0, Key_1, style_1) #往第1行第1列更改内容

workbooknew.save(file_1)
print('Update successful.')


运行脚本的效果:
C:\Users\jacky\Desktop>python xx.py
Update successful.

C:\Users\jacky\Desktop>

图片11.png





######

例子十:
更改Excel表中的指定工作表的名称的脚本:

脚本内容:
#coding=utf-8
import xlrd
from xlutils.copy import copy

file_1 = 'd:/share/销售登记表_2019.xls' #指定Excel表

workbook = xlrd.open_workbook(file_1,formatting_info=True) #保持原有的样式
workbooknew = copy(workbook)

idx = workbook.sheet_names()[1] #定位到第2页的工作表;从0开始计算的

workbooknew.get_sheet(idx).name = u'梨QQ' #指定工作表的新名称

workbooknew.save(file_1)
print('Update successful.')


运行脚本的效果:
C:\Users\jacky\Desktop>python xx.py
Update successful.

C:\Users\jacky\Desktop>

图片12.png





######

例子十一:
更改Excel表中的指定工作表的名称的脚本:

脚本内容:
#coding=utf-8
import xlrd
from xlutils.copy import copy

file_1 = 'd:\\share\\销售登记表_2019.xls' #指定Excel表

workbook = xlrd.open_workbook(file_1,formatting_info=True) #保持原有的样式
workbooknew = copy(workbook)

sheet_1 = '梨QQ' #指定工作表的旧名称
idx = workbook.sheet_names().index(sheet_1)

workbooknew.get_sheet(idx).name = u'香蕉' #指定工作表的新名称

workbooknew.save(file_1)
print('Update successful.')


运行脚本的效果:
C:\Users\jacky\Desktop>python xx.py
Update successful.

C:\Users\jacky\Desktop>

图片13.png





######

例子十二:
从Excel表的指定工作表中读取数据到图形里进行显示:

脚本内容:
#coding=utf-8
import xlrd

import matplotlib.pyplot as plt
import numpy as np

file_1 = 'd:\\share\\销售登记表_2019.xls' #指定Excel表
workbook = xlrd.open_workbook(file_1)

sheet_1 = "香蕉"
My_sheet = workbook.sheet_by_name(sheet_1) #定位到指定名称的工作表


def func1():
        My_rows = My_sheet.row_values(2) # 获取第3行全部内容;从0开始计算的

        Key_1 = My_rows[0] # 所得行的第1个元素的内容
        Key_2 = My_rows[1] # 所得行的第2个元素的内容
        Key_3 = My_rows[2] # 所得行的第3个元素的内容
        Key_4 = My_rows[3]
        Key_5 = My_rows[4]
        Key_6 = My_rows[5]
        Key_7 = My_rows[6]

        func2(Key_1,Key_2,Key_3,Key_4,Key_5,Key_6,Key_7)
       
       
def func2(Key_1,Key_2,Key_3,Key_4,Key_5,Key_6,Key_7):

        plt.rcParams['font.sans-serif']=['SimHei']
        plt.rcParams['axes.unicode_minus']=False

        plt.title("香蕉一周销量情况") #图形标题
        plt.xlabel('时间') #x轴名称
        plt.ylabel('销量(公斤)') #y轴名称

        A1 = "星期一"
        A2 = "星期二"
        A3 = "星期三"
        A4 = "星期四"
        A5 = "星期五"
        A6 = "星期六"
        A7 = "星期日"
        x1 = [A1,A2,A3,A4,A5,A6,A7] #x轴的点的值

        B1 = Key_1
        B2 = Key_2
        B3 = Key_3
        B4 = Key_4
        B5 = Key_5
        B6 = Key_6
        B7 = Key_7
        y1 = [B1,B2,B3,B4,B5,B6,B7] #y轴的点的值

        plt.plot(x1,y1,label='香蕉',color='blue',linewidth=1.0,linestyle='--')
        plt.legend() #显示图例(label)

        plt.grid(True,linestyle=':',color='red',alpha=0.6) #显示网格线

        plt.show() #显示图形


if __name__ == '__main__':

        func1()


脚本运行中的效果:(组合键Ctrl+c可结束程序的执行)
图片14.png

图片15.png





######

例子十三:
从Excel表的指定工作表中读取数据到图形里进行显示:

脚本内容:
#coding=utf-8
import xlrd

import matplotlib.pyplot as plt
import numpy as np

file_1 = 'd:/share/销售登记表_2019.xls' #指定Excel表
workbook = xlrd.open_workbook(file_1)

My_sheet = workbook.sheets()[1] #定位到第2页的工作表;从0开始计算的

class class1():
        def func1(self):
                My_rows = My_sheet.row_values(2) # 获取第3行全部内容;从0开始计算的

                self.Key_1 = My_rows[0] # 所得行的第1个元素的内容
                self.Key_2 = My_rows[1] # 所得行的第2个元素的内容
                self.Key_3 = My_rows[2] # 所得行的第3个元素的内容
                self.Key_4 = My_rows[3]
                self.Key_5 = My_rows[4]
                self.Key_6 = My_rows[5]
                self.Key_7 = My_rows[6]

                self.func2()
       
        def func2(self):

                plt.rcParams['font.sans-serif'] = ['SimHei']
                plt.rcParams['axes.unicode_minus'] = False

                plt.title("香蕉一周销量情况") #图形标题
                plt.xlabel('时间') #x轴名称
                plt.ylabel('销量(公斤)') #y轴名称

                A1 = "星期一"
                A2 = "星期二"
                A3 = "星期三"
                A4 = "星期四"
                A5 = "星期五"
                A6 = "星期六"
                A7 = "星期日"
                x1 = [A1,A2,A3,A4,A5,A6,A7] #x轴的点的值

                B1 = self.Key_1
                B2 = self.Key_2
                B3 = self.Key_3
                B4 = self.Key_4
                B5 = self.Key_5
                B6 = self.Key_6
                B7 = self.Key_7
                y1 = [B1,B2,B3,B4,B5,B6,B7] #y轴的点的值

                plt.plot(x1,y1,label='香蕉',color='blue',linewidth=1.0,linestyle='--')
                plt.legend() #显示图例(label)

                plt.grid(True,linestyle=':',color='red',alpha=0.6) #显示网格线

                plt.show() #显示图形


if __name__ == '__main__':

        myclass = class1()
        myclass.func1()


脚本运行中的效果:(组合键Ctrl+c可结束程序的执行)
图片16.png

图片17.png





相关文章:
Windows下Python3管理Excel表
Windows下Python3使用绘图库Matplotlib
自定义类

返回列表