python作为一种解释性语言,简单高效的模式逐渐火爆。同时存在多种扩展性。
实验环境: 系统:win10 语言:python3.8 承载软件:pycharm2021.1.2 (Professional Edition) 第三方类库:openpyxl、xlrd
一、第三方类库介绍
xlrd库是一个很常用的读取excel文件的库,其对excel文件的读取可以实现比较精细的控制。
openpyxl是实现excel的写入操作的第三方类库
安转第三方类库
pip install xlrd==1.2.0 # 此处一定要安转这个版本的xlrd,新版的xlrd可能会出现不兼容xlsx后缀文件的情况
pip install openpyxl
二、引用xlrd读取excel数据
首先我先来选取一个测试的数据,因为在之前写过Numpy和pandas的操作我们可以直接生成一个名为“test.xlsx”的文件。点击此处获取知识链接
因为工作中大部分人的excel并不像此处如此完美所以不可以直击使用pandas库进行操作,结合工作中的实际情况自行斟酌使用
import numpy as np
import pandas as pd
df = pd.DataFrame(data=np.random.randint(1,90,size=[10,3]),columns=['日用户','日销售额','日成本'])
df.to_excel('test.xlsx')
导入xlrd包并读取数据
import xlrd
test1 = xlrd.open_workbook('test.xlsx')
sheet = test1.sheet_by_index(0)
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)
print(sheet.row(1)[2].value)
三、引入openpyxl写入数据
import openpyxl
workbook=openpyxl.load_workbook('test.xlsx')
sheets = workbook["Sheet1"]
sheets["A1"] = "黑龙江省"
from openpyxl.styles import Font,colors
sheets["A1"].font = Font(color='981818',size = 15,bold = True,italic = True,)
print(sheets["A1"].value)
sheets.cell(2,1,value = "江苏省")
workbook.save('更改后输出.xlsx')
效果如图 此处知识异常简单需要基本的语句操作练习即可可游刃有余。
下面推荐一个今天遇到的问题胡乱写了个demo
import openpyxl
import xlrd
workbook1=openpyxl.load_workbook('test1.xlsx')
sheets=workbook1['Sheet1']
book = xlrd.open_workbook("test1.xlsx")
sheet = book.sheet_by_index(0)
dw = sheet.col_values(2)
nb = sheet.col_values(1)
print(dw)
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')
操作前 操作后 Auto Copied
|