gpt4 book ai didi

学会python操作excel永不加班系列

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章学会python操作excel永不加班系列由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

 实验环境:

系统:win10 。

语言:python3.8 。

承载软件:pycharm2021.1.2 (Professional Edition) 。

第三方类库:openpyxl、xlrd 。

  。

1、第三方类库介绍

xlrd库是一个很常用的读取excel文件的库,其对excel文件的读取可以实现比较精细的控制.

openpyxl是实现excel的写入操作的第三方类库 。

  。

2、安转第三方类库

pip install xlrd==1.2.0 #此处一定要安转这个版本的xlrd,新版的xlrd可能会出现不兼容xlsx后缀文件的情况 。

pip install openpyxl 。

  。

3、引用xlrd读取excel数据

首先我先来选取一个测试的数据,因为在之前写过Numpy和pandas的操作我们可以直接生成一个名为“test.xlsx”的文件。点击此处获取知识链接 。

因为工作中大部分人的excel并不像此处如此完美所以不可以直击使用pandas库进行操作,结合工作中的实际情况自行斟酌使用 。

import numpy as npimport pandas as pddf = pd.DataFrame(data=np.random.randint(1,90,size=[10,3]),columns=["日用户","日销售额","日成本"])df.to_excel("test.xlsx")

学会python操作excel永不加班系列

导入xlrd包并读取数据 。

  。

import xlrd#选中要读取的excel文件test1 = xlrd.open_workbook("test.xlsx")# 根据sheet索引获取sheet页 0表示1 1表示2 以此类推sheet = test1.sheet_by_index(0)# 根据sheet名称获取sheet页 0表示1 1表示2 以此类推sheet1 = test1.sheet_by_name("Sheet1")# 打印工作表的名称、行数和列数print("打印工作表的名称、行数和列数:")print("名称:",sheet.name, "行数:",sheet.nrows,"列数:", sheet.ncols)# 选中列col = sheet.col_values(2)print("col",col)# 选中行row = sheet.row_values(2)print("row",row)# 根据行索引选定列 注意row()中以1开始 []中以0开始print(sheet.row(1)[2].value)

学会python操作excel永不加班系列

  。

4、引入openpyxl写入数据  

import openpyxl# 选中写入的excel文件workbook=openpyxl.load_workbook("test.xlsx")# 选中将要写入的sheet页sheets = workbook["Sheet1"]# 给第一个单元格写入数据;sheets["A1"] = "黑龙江省"# 设置字体为红色;字体大小;字体为粗体;字体为斜体from openpyxl.styles import Font,colorssheets["A1"].font = Font(color="981818",size = 15,bold = True,italic = True,)# 获取第一个单元格的内容;print(sheets["A1"].value)# 给任意一个单元格赋值sheets.cell(2,1,value = "江苏省")# 保存数据,如若名称存在就覆盖 否则新建文件workbook.save("更改后输出.xlsx")

效果如图 。

学会python操作excel永不加班系列

此处知识异常简单需要基本的语句操作练习即可可游刃有余.

下面推荐一个今天遇到的问题胡乱写了个demo 。

import openpyxlimport xlrd# op选中文件workbook1=openpyxl.load_workbook("test1.xlsx")sheets=workbook1["Sheet1"]# xlrd选中文件book = xlrd.open_workbook("test1.xlsx")# 选中sheet1sheet = book.sheet_by_index(0)# 单位列dw = sheet.col_values(2)# 数量列nb = sheet.col_values(1)print(dw)# 若单位为0则乘以10000否则不变for i in range(len(dw)):    if dw[i]==0:        data = sheets.cell(i+1, 2).value=nb[i]*10000    else:        data = sheets.cell(i+1, 2).value = nb[i]    print(data)# 删除单位(第三)列sheets.delete_cols(3)# 覆盖保存原数据workbook1.save("test1.xlsx")

操作前 。

学会python操作excel永不加班系列

操作后 。

学会python操作excel永不加班系列

  。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我的更多内容!  。

原文链接:https://www.cnblogs.com/t-dashuai/p/15496753.html 。

最后此篇关于学会python操作excel永不加班系列的文章就讲到这里了,如果你想了解更多关于学会python操作excel永不加班系列的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com