【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容

本文详细介绍了使用Python的openpyxl库进行Excel数据写入的各种方法,包括直接写入单元格、利用公式计算、插入和删除行列、移动单元格、创建和管理工作表等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上次我们介绍了如何打开,读取数据的方法,现在我们就说一说如何写入数据

一.向格子里写入并保存

from openpyxl import load_workbook

workbook = load_workbook(filename="2.xlsx")
sheet = workbook.active
sheet["A1"] = "hello world"
workbook.save(filename="2.xlsx")

在这里插入图片描述
我们发现在运行代码后,在A1自动填入了hello world
2.向cell实例中写入并保存
同样的 可以利用cell实例的方法实现:

from openpyxl import load_workbook

workbook = load_workbook(filename="2.xlsx")
sheet = workbook.active
cell = sheet["A1"] 
cell.value = "hello the world"
workbook.save(filename="2.xlsx")

在这里插入图片描述

3.利用append()方法插入一行数据

from openpyxl import load_workbook

workbook = load_workbook(filename="2.xlsx")
sheet = workbook.active
news = [
	["0","a","A"],
	["1","a","A"],
	["2","a","A"],
	["3","a","A"],
	["4","a","A"]
]
for new in news:
	sheet.append(new)
workbook.save(filename="2.xlsx")

在这里插入图片描述
4.利用公式
查看openpyxl支持的公式

from  openpyxl.utils import FORMULAE
print(FORMULAE)
frozenset({'REPLACEB', 'ERF', 'STDEVP', 'HEX2DEC', 'NORMINV', 'PROPER', 'COSH', 'ERROR.TYPE', 'VLOOKUP', 'DSTDEVP', 'ERFC', 'GAMMADIST', 'IMSQRT', 'CRITBINOM', 'ISNONTEXT', 'GAMMALN', 'MATCH', 'ISERR', 'RSQ', 'LARGE', 'DATEDIF', 'WEEKDAY', 'MEDIAN', 'PRICEMAT', 'MIRR', 'POISSON', 'LEFTB', 'ODDLYIELD', 'DGET', 'PV', 'IPMT', 'BIN2DEC', 'FVSCHEDULE', 'COUPNUM', 'SIGN', 'DOLLARDE', 'IMSUB', 'ATAN', 'SIN', 'FTEST', 'SQRT', 'FACT', 'SERIESSUM', 'FIXED', 'TTEST', 'TAN', 'ISREF', 'MDETERM', 'BAHTTEXT', 'DDB', 'CELL', 'CUMPRINC', 'SUMIF', 'MIDB', 'MROUND', 'WEEKNUM', 'TBILLEQ', 'IMCOS', 'CHOOSE', 'DCOUNTA', 'CUBERANKEDMEMBER', 'EDATE', 'FDIST', 'VALUE', 'TREND', 'RIGHTB', 'IMPRODUCT', 'LOGNORMDIST', 'DATEVALUE', 'DSTDEV', 'QUOTIENT', 'DISC', 'ASINH', 'CUBEMEMBERPROPERTY', 'NOW', 'ROW', 'SYD', 'SKEW', 'TODAY', 'ROUND', 'CUBESETCOUNT', 'NOMINAL', 'MAXA', 'SUBSTITUTE', 'TYPE', 'GROWTH', 'COUNTBLANK', 'DCOUNT', 'MINVERSE', 'EXP', 'OCT2DEC', 'IMREAL', 'INDIRECT', 'YIELDMAT', 'CLEAN', 'COUPDAYS', 'RANDBETWEEN', 'RATE', 'RTD', 'ROWS', 'UPPER', 'BETAINV', 'SMALL', 'DB', 'ISODD', 'CONCATENATE', 'XNPV', 'INDEX', 'MIN', 'ATAN2', 'MONTH', 'GESTEP', 'DURATION', 'MMULT', 'TRIMMEAN', 'PHONETIC', 'ROUNDUP', 'EFFECT', 'LOGINV', 'PRICEDISC', 'FINDB', 'EXACT', 'WEIBULL', 'DAY', 'DAYS360', 'CHIDIST', 'CUBEKPIMEMBER', 'EOMONTH', 'AMORLINC', 'TRUNC', 'FV', 'BINOMDIST', 'DEC2OCT', 'SECOND', 'TRIM', 'COVAR', 'AMORDEGRC', 'COUPPCD', 'RAND', 'MAX', 'IMLN', 'MULTINOMIAL', 'XIRR', 'SQRTPI', 'DPRODUCT', 'BESSELJ', 'IMSIN', 'CUMIPMT', 'OCT2HEX', 'COUNTIF', 'MID', 'LEN', 'LOOKUP', 'RIGHT', 'CUBESET', 'BESSELY', 'FISHER', 'IMEXP', 'ACCRINT', 'NORMSINV', 'IMSUM', 'BIN2HEX', 'PERMUT', 'LOG10', 'HOUR', 'DOLLARFR', 'LINEST', 'NEGBINOMDIST', 'POWER', 'TRANSPOSE', 'LOG', 'SEARCHB', 'IFERROR', 'WORKDAY ', 'LENB', 'MOD', 'T', 'GAMMAINV', 'MODE', 'PRODUCT', 'TBILLYIELD', 'HARMEAN', 'ISPMT', 'DEC2BIN', 'DEVSQ', 'VAR', 'HEX2OCT', 'ATANH', 'DVAR', 'IMLOG2', 'LN', 'REPT', 'SUBTOTAL', 'WORKDAY.INTL', 'ISNUMBER', 'ISLOGICAL', 'SEARCH', 'ECMA.CEILING', 'FISHERINV', 'SLOPE', 'LOGEST', 'INT', 'SUMIFS', 'TDIST', 'LEFT', 'BESSELK', 'COUNT', 'CORREL', 'ACCRINTM', 'COUNTA', 'IMARGUMENT', 'PERCENTRANK', 'VARA', 'ASC', 'NA', 'PPMT', 'INFO', 'SUMX2MY2', 'OCT2BIN', 'SUMSQ', 'VARP', 'MINUTE', 'CHIINV', 'IMABS', 'TEXT', 'CONVERT', 'HYPERLINK', 'COS', 'YEARFRAC', 'STANDARDIZE', 'ROUNDDOWN', 'TIMEVALUE', 'NPER', 'EVEN', 'AVEDEV', 'ISNA', 'PROB', 'YIELD', 'IMCONJUGATE', 'INTRATE', 'ACOS', 'PMT', 'NORMDIST', 'NPV', 'ASIN', 'CHAR', 'OFFSET', 'BESSELI', 'SINH', 'ISERROR', 'AVERAGEA', 'CEILING', 'ROMAN', 'DELTA', 'HYPGEOMDIST', 'AND', 'TRUE ADDRESS', 'NORMSDIST', 'FORECAST', 'SUM', 'SLN', 'FALSE', 'SUMXMY2', 'DMAX', 'IMDIV', 'IF', 'COLUMN', 'COUPDAYSNC', 'CUBEMEMBER', 'HEX2BIN', 'QUARTILE', 'GEOMEAN', 'DMIN', 'IMPOWER', 'DOLLAR', 'INTERCEPT', 'AREAS', 'TANH', 'DATE', 'ODDFPRICE', 'SUMX2PY2', 'FLOOR', 'YIELDDISC', 'STDEV STDEVA', 'DEC2HEX', 'ISTEXT', 'YEAR', 'GCD', 'LCM', 'FREQUENCY', 'PRICE', 'COUPNCD', 'IMAGINARY', 'TINV', 'CODE', 'N', 'CUBEVALUE', 'COMBIN', 'IMLOG10', 'TIME', 'DSUM', 'EXPONDIST', 'COLUMNS', 'AVERAGE', 'KURT', 'ABS', 'COUPDAYBS', 'VDB', 'MINA', 'JIS', 'ISEVEN', 'COMPLEX', 'SUMPRODUCT', 'OR', 'ODD', 'TBILLPRICE', 'PERCENTILE', 'VARPA', 'MDURATION', 'PI', 'FIND', 'PEARSON', 'RANK', 'REPLACE', 'DVARP', 'ISBLANK', 'IRR', 'RECEIVED', 'NETWORKDAYS', 'ODDLPRICE', 'AVERAGEIFS', 'RADIANS', 'CHITEST', 'CONFIDENCE', 'STDEVPA STEYX', 'AVERAGEIF', 'BETADIST', 'FACTDOUBLE', 'BIN2OCT', 'FINV', 'ZTEST', 'LOWER', 'ACOSH', 'ODDFYIELD', 'DEGREES', 'NOT', 'GETPIVOTDATA', 'NETWORKDAYS.INTL', 'HLOOKUP', 'ISO.CEILING', 'COUNTIFS', 'DAVERAGE'})

利用公式方法:直接利用赋值公式计算
在这里插入图片描述

from openpyxl import load_workbook

workbook = load_workbook(filename="2.xlsx")
sheet = workbook.active
sheet["D12"] = "=AVERAGE(A12:C12)"
workbook.save(filename="2.xlsx")

在这里插入图片描述
本方法求出来平局值,其他函数也可照此类推。

5.插入空白列或行

sheet.insert_cols(idx=2,amount=4)
workbook.save(filename="2.xlsx")

在第二列插入4列

在这里插入图片描述

sheet.insert_rows(idx=2,amount=4)
workbook.save(filename="2.xlsx")

在第二行插入4行
在这里插入图片描述
6.删除列和行
同样的 可以利用delete_rows/cols 删除空白列和行

sheet.delete_rows(idx=2,amount=4)
sheet.delete_cols(idx=2,amount=4)

在这里插入图片描述
7.移动某个格子

from openpyxl import load_workbook

workbook = load_workbook(filename="2.xlsx")
sheet = workbook.active
sheet.move_range("A2:C11",rows=3,cols=2)
workbook.save(filename="2.xlsx")

正整数为向右或者向下,负整数为向左或向上
在这里插入图片描述
在这里插入图片描述
8.创建新的sheet

from openpyxl import load_workbook

workbook = load_workbook(filename="2.xlsx")
print(workbook.sheetnames)
workbook.create_sheet("sheet11")
print(workbook.sheetnames)
workbook.save(filename="2.xlsx")
['Sheet1']
['Sheet1', 'sheet11']

9.删除一个sheet

from openpyxl import load_workbook

workbook = load_workbook(filename="2.xlsx")
print(workbook.sheetnames)
sheet = workbook["sheet11"]
workbook.remove(sheet)
print(workbook.sheetnames)
workbook.save(filename="2.xlsx")
['Sheet1', 'sheet11']
['Sheet1']

10.复制一个sheet

from openpyxl import load_workbook

workbook = load_workbook(filename="2.xlsx")
print(workbook.sheetnames)
sheet = workbook.active
workbook.copy_worksheet(sheet)
print(workbook.sheetnames)
workbook.save(filename="2.xlsx")
['Sheet1']
['Sheet1', 'Sheet1 Copy']

11.修改sheet的名称:

from openpyxl import load_workbook

workbook = load_workbook(filename="2.xlsx")
print(workbook.sheetnames)
sheet = workbook.active
sheet.title = "sdas"
workbook.copy_worksheet(sheet)
print(workbook.sheetnames)
workbook.save(filename="2.xlsx")
['Sheet1', 'Sheet1 Copy']
['sdas', 'Sheet1 Copy', 'sdas Copy']

12.创建新的excel文件

from  openpyxl import Workbook

workbook = Workbook()
workbook.save(filename="new3.xlsx")

13.冻结窗格

sheet.freeze_panes = "A1"

14.筛选

sheet.auto_filter.ref = sheet.dimensions

以上便是excel与python结合的第二部分内容,后续将会持续更新excel,ppt,爬虫,人工智能等相关内容,敬请关注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值