使用python的openpyxl模块操作excel
生活随笔
收集整理的這篇文章主要介紹了
使用python的openpyxl模块操作excel
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
openpyxl(可讀寫excel表)專門處理Excel2007及以上版本產生的xlsx文件,xls和xlsx之間轉換容易
openpyxl的安裝
模塊的引入
from openpyxl import Workbook from openpyxl.styles import Color, Font, Alignment from openpyxl.styles import Border, Side, Fontfrom openpyxl import load_workbook
模塊的基本用法
?創建與保存
wb = Workbook() # 創建一個新的excel ws = wb.active # 獲得這個excel的第一個sheet表名 wb.save('xx.xlsx') # 保存excel,若是保存路徑有同名文件則會覆蓋只有保存后里面修改的內容才可以找到?
?打開存在的excel
file_home = r"E:\demo.xlsx" # 文件的絕對路徑 wb = load_workbook(file_home) 根據Sheet1這個sheet名字來獲取該sheet ws = wb['Sheet1']?
對工作表的操作
print(wb.worksheets) # 打印這個book里面的所有工作表 print(wb.worksheets[1]) # 打印這個book里面的第二個工作表 print(wb.sheetnames) # 查看所有的sheet表,結果是列表形式,也可以用遍歷: ws = wb.active # 獲得這個book的第一個sheet表名 wb.remove(wb.worksheets[0]) # 刪除索引為0的sheet表 wb.remove(wb['xxx']) # 刪除名為‘xxx’的表ws.title = '修改第一個表名' # 因為 ws = wb.active獲取的是第一個表名,所以修改的就是第一個wb.worksheets[1].title = '修改索引為1的表名'
wb['xxx'].title = '修改名為最后一個工作表的表名' # 修改名為‘xxx’的表名字
ws1 = wb.create_sheet('新的sheet表', index=0) # 插入新的工作表,放在0位置
ws2 = wb.create_sheet('最后一個工作表') # 默認插在最后
?
對單元格的操作
file_home = r"E:\python-file\my_python\demo.xlsx" wb = load_workbook(file_home) ws = wb.active # 獲取第一個工作表 ws_rows_len = ws.max_row # 最大行數 ws_columns_len = ws.max_column # 最大列數 ws_rows = ws.rows # 獲取所有的行,得到的是可迭代的 ws_columns = ws.columns # 獲取所有的列,得到的是可迭代的 b4_1 = ws.cell(row=1, column=1) b4_2 = ws['B4'] print(b4_1.value, b4_2.value) # 獲取單元格內容,用過value得到其值?
修改單元格
file_home = r"E:\python-file\my_python\demo.xlsx" wb = load_workbook(file_home) ws = wb.active # 獲取第一個工作表 ws.merge('A1:B3') # 合并單元格A1:B3 ws["A1"] = "=SUM(B1:C1)" # 通過公式計算產生寫入的值 ws["A1"] = 'A1內容' # 對A1單元格內容修改,若是對合并的單元格的值進行修改,只需修改合并的單元格中左上角的單元格的內容 ws.cell(row=4, column=2, value=10) # 通過坐標,修改4行2列(也就是B4)的值為10 ws.row_dimensions[1].height = 34 # 設置行高 ws.column_dimensions['B'].width = 22 # 設置列寬 ws["A1"] = "=SUM(B1:C1)" # 通過公式計算產生寫入的值 ws['A35'].font = Font(name='微軟雅黑', size=14, bold=True) # 設置單元格字體,bold=True加粗 ws["A1"].alignment = Alignment(horizontal='center', vertical='center') # 第一行第一列單元格內容水平居中和垂直居中,也可以選擇左對齊或右對齊 ws['A35'].border = Border(left=Side(border_style=None, color='FF000000'),right=Side(border_style=None, color='FF000000'),top=Side(border_style=None, color='FF000000'),bottom=Side(border_style=1, color='FF000000'),) # 設置單元格上下左右邊框, style屬性:'dashDot','dashDotDot', 'dashed','dotted', # 'double','hair', 'medium', 'mediumDashDot', 'mediumDashDotDot', # 'mediumDashed', 'slantDashDot', 'thin', 'thick'為excel中的默認邊框 # 對合并的單元格加邊框時需要注意,不像賦值一樣,而是需要將其中的所有的單元格(合并前)都加邊框?
轉載于:https://www.cnblogs.com/jiaqi-666/p/9618375.html
總結
以上是生活随笔為你收集整理的使用python的openpyxl模块操作excel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android开发入门
- 下一篇: FeliCa卡介绍