python_自动化_excel处理

一、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=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值