国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python openpyxl的使用方法

瀏覽:94日期:2022-06-16 08:46:13
目錄生成新Excel創(chuàng)建Sheet的三種方法給Sheet中某cell賦值賦值cell的值讀取Excel加載文件獲取sheet一個(gè)例子首先創(chuàng)建一個(gè)tab頁(yè)收集數(shù)據(jù)保存總成績(jī)總結(jié)生成新Excel

from openpyxl import Workbookfrom openpyxl.utils import get_column_letterwb = Workbook()dest_filename = ’empty_book.xlsx’ws1 = wb.activews1.title = 'range names'for row in range(1, 40): ws1.append(range(600))ws2 = wb.create_sheet(title='Pi')ws2[’F5’] = 3.14ws3 = wb.create_sheet(title='Data')for row in range(10, 20): for col in range(27, 54):_ = ws3.cell(column=col, row=row, value='{0}'.format(get_column_letter(col)))print(ws3[’AA10’].value)wb.save(filename=dest_filename)

一共創(chuàng)建了三個(gè)Sheet

創(chuàng)建Sheet的三種方法

ws1 = wb.create_sheet('Mysheet') # 在末尾添加# orws2 = wb.create_sheet('Mysheet', 0) # 在開(kāi)頭添加# orws3 = wb.create_sheet('Mysheet', -1) # 在倒數(shù)第二位添加給Sheet中某cell賦值

ws2[’F5’] = 3.14賦值cell的值

ws3.cell(column=col, row=row, value='{0}'.format(get_column_letter(col)))讀取Excel

from openpyxl import load_workbookwb = load_workbook(filename = ’empty_book.xlsx’)sheet_ranges = wb[’range names’]print(sheet_ranges[’D18’].value)加載文件

wb = load_workbook(filename = ’empty_book.xlsx’)獲取sheet

sheet_ranges = wb[’range names’]一個(gè)例子

python openpyxl的使用方法

我們的目標(biāo)是將相同考號(hào)的數(shù)據(jù)放入到一行中,并計(jì)算總成績(jī)

首先創(chuàng)建一個(gè)tab頁(yè)

這里需要注意直接

ws = wb[’總成績(jī)’]

肯定不行,因?yàn)檫@時(shí)候沒(méi)有這個(gè)tab呢 直接就會(huì)報(bào) KeyError: ’Worksheet 總成績(jī) does not exist.’ 所以需要先檢查一下tab頁(yè)是否存在

if not ’總成績(jī)’ in wb.sheetnames: wb.create_sheet(’總成績(jī)’)ws = wb[’總成績(jī)’]

需要注意的是最后一定要進(jìn)行保存操作,否則無(wú)用 wb.save(’first.xlsx’)

收集數(shù)據(jù)

# 對(duì)每個(gè)tab中的分?jǐn)?shù)數(shù)據(jù)進(jìn)行收集,放入對(duì)應(yīng)的數(shù)據(jù)行中for pos, tabName in enumerate(wb.sheetnames): if tabName != ’總成績(jī)’:wstt = wb[tabName]for row in wstt.iter_rows(min_row=2, values_only=True): for ind, code in enumerate(ws[’A’]):if code.value == row[0]: ws.cell(ind + 1, 4 + pos, row[2]) break保存總成績(jī)

一開(kāi)始直接用多字段相加

for po, row in enumerate(ws.iter_rows(min_row=2, values_only=True)): ws.cell(po + 1, 3, 0 + row[3] + row[4] + row[5] + row[6] + row[7] + row[8] + row[9])

報(bào)錯(cuò)如下

ws.cell(po + 1, 3, 0 + row[3] + row[4] + row[5] + row[6] + row[7] + row[8] + row[9])TypeError: unsupported operand type(s) for +: ’int’ and ’NoneType’

原因是其中存在NoneType,int和NoneType不能相加。 可以用int(value or 0)來(lái)將對(duì)應(yīng)的None, 0, [], ''這些Python認(rèn)為是False的轉(zhuǎn)換為1。

總結(jié)

人生苦短,我用 Python,在強(qiáng)大的Python幫助下,我們只需幾行代碼就可以生成我們想要的Excel。

以上就是python openpyxl的使用方法的詳細(xì)內(nèi)容,更多關(guān)于python openpyxl的使用的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 六安市| 咸阳市| 胶州市| 盐边县| 社旗县| 阜南县| 青阳县| 泽库县| 巴南区| 南投县| 孟津县| 册亨县| 满城县| 五原县| 德庆县| 遂平县| 色达县| 伊宁县| 崇义县| 诸暨市| 汝阳县| 南涧| 玛沁县| 庆城县| 新津县| 安仁县| 临猗县| 博乐市| 宝应县| 江川县| 昌乐县| 宁强县| 永清县| 开阳县| 黄龙县| 台东县| 苍南县| 武穴市| 合川市| 遂昌县| 柘城县|