Python操作Excel之xlsx文件
前言
之前處理excel的讀寫時用的是xlrd/xlwt,但是這兩個庫有個缺點就是只對xls的格式處理的比較好,對以xlsx結(jié)尾的格式就不行了。由于現(xiàn)在大家使用的都是最新版本的office,excel的格式都是xlsx,因此此時再繼續(xù)用xlrd/xlwt處理就不合適了,慶幸的是對于xlsx文件的讀寫,我們還可以使用openpyxl來操作。
我對excel并不熟悉,平時也不怎么用,所以對excel的處理很簡單,只是簡單的讀寫,這里演示的也是簡單的讀寫操作,具體的高級功能,可以參考文后的鏈接地址。
一:寫一個excel文件如下
from openpyxl import Workbook
from openpyxl.utils import get_column_letter
# 在內(nèi)存中創(chuàng)建一個workbook對象,而且會至少創(chuàng)建一個 worksheet
wb = Workbook()
#獲取當前活躍的worksheet,默認就是第一個worksheet
ws = wb.active
#設置單元格的值,A1等于6(測試可知openpyxl的行和列編號從1開始計算),B1等于7
ws.cell(row=1, column=1).value = 6
ws.cell("B1").value = 7
#從第2行開始,寫入9行10列數(shù)據(jù),值為對應的列序號A、B、C、D...
for row in range(2,11):
for col in range (1,11):
ws.cell(row=row, column=col).value = get_column_letter(col)
#可以使用append插入一行數(shù)據(jù)
ws.append(["我","你","她"])
#保存
wb.save(filename="/Users/budong/Desktop/a.xlsx")
二:讀剛剛寫入的excel內(nèi)容如下
from openpyxl import load_workbook
#打開一個workbook
wb = load_workbook(filename="/Users/budong/Desktop/a.xlsx")
#獲取當前活躍的worksheet,默認就是第一個worksheet
#ws = wb.active
#當然也可以使用下面的方法
#獲取所有表格(worksheet)的名字
sheets = wb.get_sheet_names()
#第一個表格的名稱
sheet_first = sheets[0]
#獲取特定的worksheet
ws = wb.get_sheet_by_name(sheet_first)
#獲取表格所有行和列,兩者都是可迭代的
rows = ws.rows
columns = ws.columns
#迭代所有的行
for row in rows:
line = [col.value for col in row]
print line
#通過坐標讀取值
print ws.cell('A1').value # A表示列,1表示行
print ws.cell(row=1, column=1).value
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
python2與python3爬蟲中get與post對比解析
一文帶你了解Python中不同數(shù)據(jù)對象的空值校驗方法
解決import tensorflow as tf 出錯的原因

