【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")

【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容_第1张图片
我们发现在运行代码后,在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")

【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容_第2张图片

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")

【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容_第3张图片
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'})

利用公式方法:直接利用赋值公式计算
【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容_第4张图片

from openpyxl import load_workbook

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

【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容_第5张图片
本方法求出来平局值,其他函数也可照此类推。

5.插入空白列或行

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

在第二列插入4列

【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容_第6张图片

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

在第二行插入4行
【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容_第7张图片
6.删除列和行
同样的 可以利用delete_rows/cols 删除空白列和行

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

【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容_第8张图片
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")

正整数为向右或者向下,负整数为向左或向上
【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容_第9张图片
【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容_第10张图片
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,爬虫,人工智能等相关内容,敬请关注

你可能感兴趣的:(【PYTHON,EXCEL】利用python进行EXCEL处理2 写入内容)