使用openpyxl進行Excel操作 (基礎)


操作Excel ,使用第三方庫,使用別人寫好的代碼,

這是使用 openpyxl 操作 2010 版之后的 xlsx 格式。

有些2003經典版是無法使用的,只能使用其他庫 比如:xlrd,xlwt 。

其中 tablib 可以都支持,但是它的依賴比較大,使用起來復制,感興趣的小伙伴可以自行百度 

一、 安裝 openpyxl

pip install openpyxl

二、導入 openpyxl

import openpyxl 

1、打開 excel 文件獲取工作簿 (文件內容見最下方 截圖 )

# 有一個必填項,可填寫 文件的路 徑或者 文件對象
wb = openpyxl.load_workbook('D:\datas.xlsx')
print(wb)

2、獲取表單(一個excel 文件可以有過個表單)

# 獲取所有表單
sheet = wb.worksheets
print(sheet)
# 通過索引獲取表單,索引從 0 開始 
sheet = wb.worksheets[0]
print(sheet)
# 通過表單名字獲取表單.有個問題,之后使用 sheet 后無法 點 出提示
sheet = wb.get_sheet_by_name('Sheet1')
print(sheet)
# 簡潔版 通過字典的形式. 問題和上面一樣
sheet = wb['Sheet1']
print(sheet)

3、獲取單元格數據

  1、獲取一個單元格 。

        獲取的數據就是一個普通的字符串或者一個數字。

# 獲取某一個單元格的值.  cell() 第一個row傳行數、第二個column傳列數,
# 單元格以 1 開頭,和python索引區分
cell = sheet.cell(1, 1).value
print(cell)  # url

 

  2、獲取 一行/一列 單元格 。

        獲取有多個數據,多行數據存儲一般用,列表、字典、元組。

# 獲取一行的數據
cell = sheet[1]
print(cell)   # 獲取的一個元組,里面包含 單元格的對象  尖括號就是一個對象
#  輸出數據  (<Cell 'Sheet1'.A1>, <Cell 'Sheet1'.B1>, <Cell 'Sheet1'.C1>)

# 獲取一列的數據
cell = sheet['A']
print(cell)

 

  3、獲取 多行/多列 單元格 。

        得到的數據一般來說是嵌套的數據,比如嵌套的列表等

 

# 獲取所有的行,最簡單的方法
data = sheet.rows
data_list = list(data)[1:]  # 剔除第一條數據,第一條是標題

# 獲取所有數據
data_list = list(sheet.rows)[1:]  # 剔除第一條數據,第一條是標題
new_data = []  # 新列表儲存數據#
for row in data_list:
    # 每一行的數據存儲起來 每循環一次清空
    row_data = []
    # 把 row 里面的數據依次提取出來
    for cell in row:
        # 把值添加到 row_data 列表中
        row_data.append(cell.value)
    # 每循環一次,往 new_data 添加一次數據
    new_data.append(row_data)
print(new_data)
 
        

 

4、 寫操作,寫完一定要保存,使用文件后要關閉  (使用寫操作運行代碼前一定要關閉文件,否則會報錯

#
sheet.cell(2, 1).value = '12306'

# 保存 提供保存的路徑,不是之前的路徑那就是另存為 wb.save(r'D:\datas.xlsx')
# 關閉 wb.close()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM