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

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

一.向格子里写入并保存

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,爬虫,人工智能等相关内容,敬请关注

发布了28 篇原创文章 · 获赞 25 · 访问量 2062

猜你喜欢

转载自blog.csdn.net/AI_LINNGLONG/article/details/104285645