1. 程式人生 > 其它 >Python辦公文件處理

Python辦公文件處理

主要參考的是Github上的一個專案:https://github.com/jackfrued/Python-100-Days
文章主要是對該專案中的內容進行學習 穿插一點自己的學習想法等內容~

處理Excel電子表格 -- openpyxl

主要使用openpyxl模組來讀取和修改表格

# !/usr/bin/env python
# 第一句話:配置直譯器路徑
# -*- coding:utf-8 -*-
# 第二句話:檔案編碼
import datetime

from openpyxl import Workbook, load_workbook

# 例項化
wb = Workbook()
# 啟用 worksheet
ws = wb.active
# 開啟已有的
wb2 = load_workbook('已知故障類別表.xlsx')
ws2 = wb2.active

# 資料直接輸入到單元格中(可以輸入公式)
ws2['C1'] = 8
# 可以附加行,從第一列開始附加(從最下方空白處,最左開始)(可以輸入多行)
# 如果對應的行有內容,那麼該語句不生效
ws2.append([1, 2, 3])
# Python型別會被自動轉換
ws2['A2'] = datetime.datetime.now().strftime("%Y-%m-%d")

# 建立表:預設插入到最後,插到最開始的位置引數為0
ws3 = wb2.create_sheet("MySheet", 0)

# sheet名稱可以作為key進行檢索
ws4 = wb2.get_sheet_by_name("MySheet")

# 查看錶名
print(wb2.sheetnames)

# 訪問單個單元格
c = ws2['A4']
# 利用行列建立
d = ws2.cell(row=4, column=1, value=3)
# 只要訪問就建立
for i in range(1, 101):
    for j in range(1, 101):
        ws2.cell(row=i, column=j)

# 訪問多個單元格
# 切片
a_group = ws['A1':'B2']
# 通過行(列)
a_group1 = ws2['C']
a_group2 = ws2[10]
# 通過指定範圍的行
for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
    for cell in row:
        print(cell)
# 通過指定範圍的列
for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
    for cell in row:
        print(cell)
# 遍歷所有
tuple(ws.rows)
tuple(ws.columns)
wb2.save("sample.xlsx")

程式碼都是參考參考連結中的內容,對一些基本功能進行闡述。
在使用Python進行文件操作時,首先要求內容非常規整,不會出現什麼亂七八糟的東西(編碼和格式等)
對行 列進行操作
統一修改格式
繪製圖表
總之和Excel軟體結合一起使用(反正最終的目的是把任務完成,使用什麼工具不重要)
簡單介紹一下,實際操作的時候知道去哪裡找就可以了。

參考連結

https://www.cnblogs.com/programmer-tlh/p/10461353.html