openpyxl學習——基礎篇

【未完成】歡迎添加問題
openpyxl能作到什麼。
更系統的文檔。
有沒有覆蓋的函數。
建立新行、新列、統計有多少行、多少列,中文編碼問題,單元格爲空的問題。
既然是處理excel的,excel自身的特色,好比excel函數、圖表、合併,等等的特性html

簡介

官方文檔 寫的不太好,大體就是入門的一些操做和比較有特色的地方。
源代碼 包含各個類和函數的代碼,比較有用。api

建立

建立workbook:app

from openpyxl import Workbook
wb=Workbook()

建立sheet:函數

1,默認表,在建立wb時默認就建立了sheet,使用
ws=wb.active獲得
2,建立新表
ws1=wb.create_sheet(title,index) #插入到結尾
ws2=wb.create_sheet(0)#插入到開頭
wsn=wb.create_sheet(n)#插入到第n個位置

建立新行:編碼

這個方法openpyxl沒有給定函數,overstackflow有相關函數,請見:[添加行][3]

建立新列excel

這個方法openpyxl沒有給定函數,overstackflow有相關函數,請見:[添加列][4]

保存

wb.save(file)

使用:
    from openpyxl import load_workbook
    wb=load_workbook(filename)

來源於:
openpyxl.reader.excel.load_workbook(filename, read_only=False, use_iterators=False, keep_vba=False, guess_types=False, data_only=False)htm

注:
filename是路徑+文件名*
read_only:只讀模式,會使得讀取更快
use_iterators:該lazy模式,默認採用只讀模式,全部的worksheet將openpyxl.worksheet.iter_worksheet.IterableWorksheet類型的
它的特色是跳過empty cells文檔

  • 讀worksheetget

    ws=wb[sheetname]

    ws=wb.get_sheet_by_name(sheetname)

想要知道sheet名能夠用
wb.get_sheet_names()獲得

  • 逐行讀

    ws.iter_rows(range_string=None, row_offset=0, column_offset=0)

range-string(string)-單元格的範圍:例如('A1:C4')
row_offset-添加行
column_offset-添加列
返回一個生成器,
注意取值時要用value,例如:

for var in ws.iter_rows():
    print var[0].value
  • 讀指定行、指定列

rows=ws.rows#row是可迭代的
columns=ws.columns#column是可迭代的

打印第n行全部數據
print rows[n]#不須要用.value
print columns[n]#不須要用.value

  • 讀連續單元格

    cell_range = ws['A1':'C2']

  • 讀指定的單元格

    ws.cell('B12').value
    ws.cell(row=12,column=2).value

  • 讀全部單元格數據

    get_cell_collection()

ws.append(iterable)

添加一行到當前sheet的最底部
iterable必須是list,tuple,dict,range,generator類型的。
1,若是是list,將list從頭至尾順序添加。
2,若是是dict,按照相應的鍵添加相應的鍵值。

append([‘This is A1’, ‘This is B1’, ‘This is C1’])
append({‘A’ : ‘This is A1’, ‘C’ : ‘This is C1’})
append({1 : ‘This is A1’, 3 : ‘This is C1’})
  • 寫一列

  • 寫一格

    ws['A4'] = 4

相關文章
相關標籤/搜索