回覆列表
  • 1 # 使用者5172871043340

    python操作Excel讀寫--使用xlrd

    一、安裝xlrd模組

    到python官網下載

    http://pypi.python.org/pypi/xlrd

    模組安裝,前提是已經安裝了python 環境。

    二、使用介紹

    1、匯入模組

    import xlrd

    2、開啟Excel檔案讀取資料

    data = xlrd.open_workbook("excelFile.xls")

    3、使用技巧

    獲取一個工作表

    table = data.sheets()[0] #透過索引順序獲取

    table = data.sheet_by_index(0) #透過索引順序獲取

    table = data.sheet_by_name(u"Sheet1")#透過名稱獲取

    獲取整行和整列的值(陣列)

    table.row_values(i)

    table.col_values(i)

    獲取行數和列數

    nrows =

    table.nrows

    ncols =

    table.ncols

    迴圈行列表資料

    for i in range(nrows ):

    print table.row_values(i)

    單元格

    cell_A1 = table.cell(0,0)

    .value

    cell_C4 = table.cell(2,3)

    .value

    使用行列索引

    cell_A1 = table.row(0)[0]

    .value

    cell_A2 = table.col(1)[0]

    .value

    簡單的寫入

    row = 0

    col = 0

    # 型別 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

    ctype = 1 value = "單元格的值"

    xf = 0 # 擴充套件的格式化

    table.put_cell(row, col, ctype, value, xf)

    table.cell(0,0) #單元格的值"

    table.cell(0,0)

    .value

    #單元格的值"

    三、Demo程式碼

    Demo程式碼其實很簡單,就是讀取Excel資料。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    # -*- coding: utf-8 -*-

    import xdrlib ,sys

    import xlrd

    def open_excel(file= "file.xls"):

    try:

    data = xlrd.open_workbook(file)

    return data

    except Exception,e:

    print str(e)

    #根據索引獲取Excel表格中的資料 引數:file:Excel檔案路徑 colnameindex:表頭列名所在行的所以 ,by_index:表的索引

    def excel_table_byindex(file= "file.xls",colnameindex=0,by_index=0):

    data = open_excel(file)

    table = data.sheets()[by_index]

    nrows =

    table.nrows

    #行數

    ncols =

    table.ncols

    #列數

    colnames = table.row_values(colnameindex) #某一行資料

    list =[]

    for rownum in range(1,nrows):

    row = table.row_values(rownum)

    if row:

    app = {}

    for i in range(len(colnames)):

    app[colnames[i]] = row[i]

    list.append(app)

    return list

    #根據名稱獲取Excel表格中的資料 引數:file:Excel檔案路徑 colnameindex:表頭列名所在行的所以 ,by_name:Sheet1名稱

    def excel_table_byname(file= "file.xls",colnameindex=0,by_name=u"Sheet1"):

    data = open_excel(file)

    table = data.sheet_by_name(by_name)

    nrows =

    table.nrows

    #行數

    colnames = table.row_values(colnameindex) #某一行資料

    list =[]

    for rownum in range(1,nrows):

    row = table.row_values(rownum)

    if row:

    app = {}

    for i in range(len(colnames)):

    app[colnames[i]] = row[i]

    list.append(app)

    return list

    def main():

    tables = excel_table_byindex()

    for row in tables:

    print row

    tables = excel_table_byname()

    for row in tables:

    print row

    if __name__=="__main__":

    main()

  • 中秋節和大豐收的關聯?
  • 夫妻之間沒有感情了,是不是為了孩子不要離婚為好?為什麼?