一、excel相关库介绍
1.excel相关库介绍
xls结构:xlrd、xlwt、xlutils
xlsx结构:openpyxl(支持读写图表等等)、xlsxwriter(重点写、公式)、xlwings(excel里面的代码都可以写)
数据分析库:pandas
2.在线按照excel库
pip install openpyxl(默认下载最新版本)
pip install openpyxl==3.0.9(制定版本)
pip install openpyxl==3.0.9 -i https:(网址)(网不好的时候使用)
3.导入和测试excel相关库
import openpyxl
import openpyxl import Workbook
from openpyxl import load_workbook
二、Excel结构化读取
1.加载xlsx格式文件
openpyxl中加载函数是load_workbook(文件名),
2.结构化读取excel数据
将文件内容加载到参数wb中,wb代表工作簿,工作簿里有工作表,将工作表加载到ws参数中。cell特指单元格,cel.value可以获取单元格内容。
3.行列坐标读取单元格数据
ws.max_row最大行,ws.max_column最大列数。双层for循环,拿到各行各列的组合值,使用ws.cell()拿单元格的值。
from openpyxl import load_workbook
filename="E:\yanjiusheng\研究生论文\论文数据\经济\经济发展水平-各省人均生产总值(元).xlsx"
wb=load_workbook(filename)
ws=wb.active#默认第一个工作表
#通过表的行列结构,循环读出所有数据
for row in ws.rows:
for cell in row:
print(cell.value, end=" ")
print(end="\n")
#工作表的行列坐标值,循环取出所有单元格的内容。
row_num=ws.max_row
column_num=ws.max_column
print(row_num,column_num)
for r in range(1,row_num+1):
for c in range(1,column_num):
print(ws.cell(row=r,column=c).value,end=" ")
print(end="\n")
三、Excel文件数据写入
1.新建空工作簿和工作表
openpyxl中新建函数是workbook(),调用函数不需要传参,并且调用后,会返回一个工作簿wb,直接将wb保存,附上一个名称,可以得到一个空的excel文件。
2.写入表格头部数据
新建工作簿,默认会有一个空的工作表,现在需要将表格头部信息写入表格,需要使用ws的append()函数,接收字符串组成的列表,按一个字符串一个单元格规制,将列表数据放在工作表的已有数据最下方。
3.写入表格信息数据
faker库(随机生成姓名)
zfill(4)(自动补全4位,但是只针对于字符串类型)
import random
from faker import Faker
from openpyxl import Workbook
faker=Faker("zh_CN")
wb1=Workbook()
wb1.save("E:\wb1.xlsx")
filename="E:\应统考试统计.xlsx"#文件名
wb=Workbook()
ws=wb.active
print(ws)
ws.title="应统1班"#表名
head=["学号","姓名","python应用","SPSS分析","SQL数据库应用","R语言","总分"]
ws.append(head)
for i in range(1,random.randint(45,51)):
sid="220212{}".format(str(i).zfill(2))#zfill补位,只针对于字符串。
sname=faker.name()
python=random.randint(75, 100)
spss=random.randint(75, 100)
sql=random.randint(75, 100)
r=