目錄
?編輯
一、下載安裝與引用
二、創(chuàng)建工作簿并寫入數(shù)據(jù)
創(chuàng)建工作簿
創(chuàng)建工作表
寫入數(shù)據(jù)
保存數(shù)據(jù)
三、讀取表格并查找數(shù)據(jù)
讀取表格
讀取指定工作表
重命名指定工作表
獲取單元格數(shù)據(jù)
四、其他操作?
多個工作表之間的切換
處理行和列
格式化單元格
修改工作表標(biāo)題背景?
?設(shè)置單元格顏色和字體
一、下載安裝與引用
pip install openpyxl
import?openpyxl
二、創(chuàng)建工作簿并寫入數(shù)據(jù)
創(chuàng)建工作簿
wb= openpyxl.Workbook()
創(chuàng)建工作表
# 創(chuàng)建目錄
ws = wb.create_sheet(title, index)
參數(shù)定義:
title:工作表的名稱
index:新生成的工作表放在那個位置上
? ? ? ? 不填寫:默認(rèn)將新工作表插入到工作簿的最后一個位置
? ? ? ? 0:表示將新工作表插入到工作簿的第一個位置
? ? ? ? 1:表示將新工作表插入到工作簿的第二個位置
? ? ? ? -1:表示將新工作表插入到工作簿的倒數(shù)第二個位置
寫入數(shù)據(jù)
#方法一:
ws.cell(row, column, values)
#方法二:
ws.cell(row,column).value=values
#方法三:
ws['J1']=values
參數(shù)定義:row:工作表的行號,第一行從1開始
column:工作表的列號,第一列從1開始
values:要寫入單元格的數(shù)據(jù)
J1:第J列,第1行
保存數(shù)據(jù)
wb.save(filename)
其中:filename為要保存成為的文件名,如果文件名帶有路徑,則文件會保存在對應(yīng)的路徑下
三、讀取表格并查找數(shù)據(jù)
讀取表格
wb=openpyxl.load_workbook(filename)
?filemane:可以為文件名,也可以是所對應(yīng)路徑的文件地址
讀取指定工作表
ws=wb[sheetname]
重命名指定工作表
ws.title=New_sheetname
獲取單元格數(shù)據(jù)
#方法一:
val=ws.cell(row,column).value
#方法二:
cell_value = ws['A1'].value
#方法三:
ws = wb['用戶工作表']
for row in ws.rows: # 獲取每一行的數(shù)據(jù)
for data in row: # 獲取每一行中單元格的數(shù)據(jù)
print(data.value) # 打印單元格的值
?獲取第row行,第column列的數(shù)據(jù)賦值給變量val
四、其他操作?
多個工作表之間的切換
如果有多個工作表,之前如何相互切換 :比如有工作表sheet1、sheet2
打開工作簿默認(rèn)激活的是第一個工作表sheet1,可以不用設(shè)置激活狀態(tài)了;
但是當(dāng)你想切換到第二個工作表sheet2;對sheet2里的數(shù)據(jù)進(jìn)行操作,則
ws2=wb[sheet2name]
wb.active = ws2
處理行和列
- 迭代行:
for row in ws.iter_rows(min_row=1, min_col=1, max_row=10, max_col=3):
- 迭代列:
for col in ws.iter_cols(min_row=1, min_col=1, max_row=10, max_col=3):
- 插入行:
ws.insert_rows(idx=2, amount=1)
?????
ws
: 要插入行的工作表idx
: 要在哪個位置插入新行,該值為行索引(從1開始)
- 在第一行前面插入,則idx=1
- 在第一行后面插入,則idx=2
- 在第二行后面插入,則idx=3
amount
: 要插入的行數(shù)- 刪除行:
ws.delete_rows(idx=2, amount=1)
idx
: 要刪除的第一行的索引(從1開始)。amount
: 要刪除的行數(shù)。- 插入列:
ws.insert_cols(idx=2, amount=1)
- 刪除列:
ws.delete_cols(idx=2, amount=1)
格式化單元格
- 設(shè)置單元格格式:
ws['A1'].number_format = '0.00%'
- 設(shè)置單元格字體:
ws['A1'].font = Font(size=12, bold=True)
- 設(shè)置單元格邊框:
ws['A1'].border = Border(left=Side(border_style='thin', color='FF000000'), right=Side(border_style='thin', color='FF000000'), top=Side(border_style='thin', color='FF000000'), bottom=Side(border_style='thin', color='FF000000'))
- 合并單元格:
ws.merge_cells('A1:B2')
- 拆分單元格:
ws.unmerge_cells('A1:B2')
修改工作表標(biāo)題背景?
from openpyxl import Workbook
wb = Workbook()
ws1 = wb.create_sheet('用戶信息表', 0)
ws1.sheet_properties.tabColor = 'FF6666' # 將標(biāo)題背景改為指定RRGGBB顏色代碼
'''用代碼保存一下后,如下圖所示'''
?設(shè)置單元格顏色和字體
from openpyxl import Workbook
from openpyxl.styles import Font, Color, PatternFill, colors
# 創(chuàng)建一個新工作簿
wb = Workbook()
# 獲取活動工作表
ws = wb.active
# 設(shè)置第二行第二列單元格的值為“Hello World!”
ws.cell(row=2, column=2).value = 'Hello World!'
#font1 = Font(name="微軟雅黑", size=20, bold=True, italic=True, color="FF0000")
# name:字體類型,size:字體大小,bold:是否加粗,italic:是否斜體,color:字體顏色
# 創(chuàng)建字體對象和填充對象
font = Font(color=colors.RED, bold=True)
fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')
# 將字體和填充應(yīng)用到單元格
ws.cell(row=2, column=2).font = font
ws.cell(row=2, column=2).fill = fill
# 保存工作簿
wb.save('example.xlsx')
在這個例子中,我們首先創(chuàng)建一個新工作簿并獲取活動工作表。然后,我們將第二行第二列單元格的值設(shè)置為“Hello World!”。接著,我們創(chuàng)建了一個字體對象和一個填充對象,并將它們應(yīng)用到單元格。最后,我們保存工作簿。文章來源:http://www.zghlxwxcb.cn/news/detail-692604.html
在這個例子中,我們將字體設(shè)置為粗體紅色,將填充顏色設(shè)置為黃色文章來源地址http://www.zghlxwxcb.cn/news/detail-692604.html
到了這里,關(guān)于【python】關(guān)于openpyxl的基本使用方法-看這篇就夠了的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!