python excelファイルの読み込み(xlrd)


EXcelのパッケージを読み取る分析pandas,numpyは,機能は強いが,excelを再定義する必要があり,効率は低い.xlutils,xlrd(read only),xlwt(write only,新しいワークシートを作成する必要がある)xutilsは読み書き切替を実現し,読み出しパケットを再符号化することができるが,元の3つのパケット(xlrd)関数呼び出しに影響し,xlwt読み書き機能は限られている.最終的には改後論理を採用する.Openpyxl:excelドキュメントを直接読み書きし、データを直接変更し、元のデータに影響を与える可能性があります.
の手配を
import xlrd
ファイルを開く
data = xlrd.open_workbook('ファイル名.xlsx')
ページ名の表示
print(data.sheet_names())
sheet 1、sheet 2などのページ名を出力しますが、一般的には使えません.次の表でページを取ることができますから.
ページの取得
sheet = data.sheet_by_name('sheet1') sheet = data.sheet_by_index(0)
2つの方法はどちらでもいいです.普通は2つ目を使います.1つ目はページ名を事前に知らなければならないので、2つ目は直接下付きを指定すればいいです.
行数と列数の取得
print(table.nrows) print(table.ncols)
コンテンツの取得
行全体の値と列全体の値を取得し、返される結果は配列全体の値:table.row_values(start,end)整列値:table.col_values(start,end)パラメータstartは、何番目から印刷を開始するか、endはどの位置に印刷を終了するか、デフォルトはnone print(table.row_values(0))print(table.col_values(1))
あるセルの値を取得する、例えばB 3セルの値print(table.cell(3,2)を取得する.value)
例を挙げる
EXcelファイルの内容をリストリストに読み込む
import xlrd
 
table = xlrd.open_workbook("   .xlsx")
sheet = table.sheet_by_index(0)
content = []

#      ,         
for i in range(sheet.nrows):
    tmp = []
    for j in range(sheet.ncols):
        tmp.append(sheet.cell_value(i,j))
    content.append(tmp)
for i in range(sheet.nrows):
    print(content[i])

#        
for i in range(sheet.nrows):
    content.append(sheet.row_values(i))
for i in range(sheet.nrows):
    print(content[i])