免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Python第三方庫之openpyxl(2)

簡(jiǎn)單的使用

寫一個(gè)工作簿

View Code

讀一個(gè)現(xiàn)有的工作簿

>>> from openpyxl import load_workbook>>> wb = load_workbook(filename = 'empty_book.xlsx')>>> sheet_ranges = wb['range names']>>> print(sheet_ranges['D18'].value)3

注意:在loadworkbook中有幾個(gè)可以使用的標(biāo)志

1.guess_types 在讀取單元時(shí)啟用或禁用(默認(rèn))類型推斷

2.data_only 控制帶有公式的單元格是否有公式(默認(rèn))或上次Excel讀取表的值

3.keep_vba 控制任何可視的基本元素是否被保留(默認(rèn))。如果它們被保存了它們?nèi)匀皇遣豢删庉嫷?/p>

注意:openpyxl目前沒有在Excel文件中讀取所有可能的項(xiàng)目,因此如果打開并保存相同的名稱,那么圖像和圖表將從現(xiàn)有文件中丟失

使用數(shù)字格式

>>> import datetime>>> from openpyxl import Workbook>>> wb = Workbook()>>> ws = wb.active>>> # 使用Python datetime設(shè)置日期>>> ws['A1'] = datetime.datetime(2010, 7, 21)>>>>>> ws['A1'].number_format'yyyy-mm-dd h:mm:ss'>>> # 您可以在具體情況下啟用類型推斷>>> wb.guess_types = True>>> # 使用字符串和%符號(hào)設(shè)置百分比>>> ws['B1'] = '3.14%'>>> wb.guess_types = False>>> ws['B1'].value0.031400000000000004>>>>>> ws['B1'].number_format'0%'

使用公式

>>> from openpyxl import Workbook>>> wb = Workbook()>>> ws = wb.active>>> # 添加一個(gè)簡(jiǎn)單的公式>>> ws["A1"] = "=SUM(1, 1)">>> wb.save("formula.xlsx")

注意:你必須使用英文名作為一個(gè)函數(shù),函數(shù)參數(shù)必須用逗號(hào)隔開,而不是其他的標(biāo)點(diǎn)符號(hào),比如分號(hào)

openpyxl從來沒有計(jì)算過公式但是可以檢查公式的名稱

>>> from openpyxl.utils import FORMULAE>>> "HEX2DEC" in FORMULAETrue

合并/ 分割單元格

>>> from openpyxl.workbook import Workbook>>>>>> wb = Workbook()>>> ws = wb.active>>>>>> ws.merge_cells('A2:D2')>>> ws.unmerge_cells('A2:D2')>>>>>> # 相當(dāng)于>>> ws.merge_cells(start_row=2, start_column=1, end_row=4, end_column=4)>>> ws.unmerge_cells(start_row=2, start_column=1, end_row=4, end_column=4)

插入圖像

>>> from openpyxl import Workbook>>> from openpyxl.drawing.image import Image>>>>>> wb = Workbook()>>> ws = wb.active>>> ws['A1'] = 'You should see three logos below'
>>> # 制作一個(gè)圖片>>> img = Image('logo.png')
>>> # 在單元格旁邊添加工作表和錨>>> ws.add_image(img, 'A1')>>> wb.save('logo.xlsx')

折疊列

>>> import openpyxl>>> wb = openpyxl.Workbook()>>> ws = wb.create_sheet()>>> ws.column_dimensions.group('A','D', hidden=True)>>> wb.save('group.xlsx')

與pandas和NumPy一起工作

NumPy支持

openpyxl已經(jīng)為NumPy類型的浮點(diǎn)數(shù)、整數(shù)和布爾型提供了支持。使用pandas的時(shí)間戳類型支持DateTimes

Working with Pandas Dataframes

openpyxl.utils.dataframe.dataframe_to_rows()函數(shù)提供了一個(gè)簡(jiǎn)單的方式來處理Pandas Dataframes

from openpyxl.utils.dataframe import dataframe_to_rowswb = Workbook()ws = wb.activefor r in dataframe_to_rows(df, index=True, header=True):    ws.append(r)

雖然pandas本身支持轉(zhuǎn)換為Excel,但這為客戶端代碼提供了額外的靈活性,包括將dataframes直接傳輸?shù)轿募哪芰Α?/p>

將一個(gè)dataframe轉(zhuǎn)換為高亮顯示標(biāo)題和索引的工作表

wb = Workbook()ws = wb.activefor r in dataframe_to_rows(df, index=True, header=True):    ws.append(r)for cell in ws['A'] + ws[1]:    cell.style = 'Pandas'wb.save("pandas_openpyxl.xlsx")

或者,如果你只想轉(zhuǎn)換數(shù)據(jù)你可以使用write-only模式

View Code

這段代碼和標(biāo)準(zhǔn)的工作簿同樣適用

將工作表轉(zhuǎn)換為Dataframe

要將工作表轉(zhuǎn)換為Dataframe,您可以使用values屬性。如果工作表沒有標(biāo)題或索引,這很容易

df = DataFrame(ws.values)

如果工作表確實(shí)有標(biāo)題或索引,比如由pandas創(chuàng)建的,那么就需要做更多的工作

data = ws.valuescols = next(data)[1:]data = list(data)idx = [r[0] for r in data]data = (islice(r, 1, None) for r in data)df = DataFrame(data, index=idx, columns=cols)

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
三種Python操作Excel的方法,自動(dòng)化學(xué)習(xí)Get!
OpenPyXl的使用
Python作業(yè)之Excel操作。上
詳解Python對(duì)Excel處理技巧
Pandas寫入Excel函數(shù)
4段簡(jiǎn)短代碼教你用Python讀寫Excel
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服