python-xlrd,xlwt excelファイルの読み書き
10727 ワード
xlrd,xlwt excelファイルの読み書き
あまり話さないで、直接コードをつけて、それから説明します.
上記コードwb=xlwt.Workbook()は、ワークブックオブジェクトを作成し、ワークブックにワークシートwbを追加することができます.add_sheet(‘first_sheet’, cell_overwrite_ok=True)
cell_overwrite_OK=True)は、テーブルの書き込みが可能であることを示します
wb.get_active_sheet()は、現在のアクティブなテーブルを取得することを示します.
ws_1 = wb.get_sheet(0)はシーケンス番号でテーブルを取得し、0は最初のテーブルを表す
ws_2 = wb.add_sheet('second_sheet')は、テーブルを直接作成し、オブジェクトに値を付けて直接操作できます.
ws_1.write(r,c,int(data[c,r]))は、r行目、c列目に対して書き込みを行う
wb.save(path+‘workbook.xls’)保存ワークブック
book = xlrd.open_workbook(path+‘workbook.xls’)#ワークブックを開く
book.sheet_names()#ワークブックのテーブル名を返すsheet_1 = book.sheet_by_name(‘first_sheet’)ワークシート名からテーブルsheet_を取得2 = book.sheet_by_Index(1)インデックスによるテーブルの取得
sheet_1.cell(r, c).valueは、r行目c列目の値print(sheet_2.row(3))を返し、4行目print(sheet_2.com(3))を出力します.
あまり話さないで、直接コードをつけて、それから説明します.
import xlwtimport xlrd
import numpy as np
path="C:/learn_data/"
#Excel
# xls
wb = xlwt.Workbook()
print(wb)
wb.add_sheet('first_sheet', cell_overwrite_ok=True)
wb.get_active_sheet()
ws_1 = wb.get_sheet(0)
print(ws_1)
ws_2 = wb.add_sheet('second_sheet')
data = np.arange(1, 65).reshape((8, 8))
print(data) ws_1.write(0, 0, 100)
for c in range(data.shape[0]):
for r in range(data.shape[1]):
ws_1.write(r, c, int(data[c, r]))
ws_2.write(r, c, int(data[r, c]))
wb.save(path + 'workbook.xls')
# xlsx
#
book = xlrd.open_workbook(path + 'workbook.xls')
print(book)
print(book.sheet_names())
sheet_1 = book.sheet_by_name('first_sheet')
sheet_2 = book.sheet_by_index(1)
print(sheet_1)
print(sheet_2.name)
print(sheet_1.ncols, sheet_1.nrows) cl = sheet_1.cell(0, 0)print(cl.value)
print(cl.ctype)
print(sheet_2.row(3))
print(sheet_2.col(3))
print(sheet_1.col_values(3, start_rowx=3, end_rowx=7)) print(sheet_1.row_values(3, start_colx=3, end_colx=7))
for c in range(sheet_1.ncols):
for r in range(sheet_1.nrows):
print ('%i' % sheet_1.cell(r, c).value,)
print
上記コードwb=xlwt.Workbook()は、ワークブックオブジェクトを作成し、ワークブックにワークシートwbを追加することができます.add_sheet(‘first_sheet’, cell_overwrite_ok=True)
cell_overwrite_OK=True)は、テーブルの書き込みが可能であることを示します
wb.get_active_sheet()は、現在のアクティブなテーブルを取得することを示します.
ws_1 = wb.get_sheet(0)はシーケンス番号でテーブルを取得し、0は最初のテーブルを表す
ws_2 = wb.add_sheet('second_sheet')は、テーブルを直接作成し、オブジェクトに値を付けて直接操作できます.
ws_1.write(r,c,int(data[c,r]))は、r行目、c列目に対して書き込みを行う
wb.save(path+‘workbook.xls’)保存ワークブック
book = xlrd.open_workbook(path+‘workbook.xls’)#ワークブックを開く
book.sheet_names()#ワークブックのテーブル名を返すsheet_1 = book.sheet_by_name(‘first_sheet’)ワークシート名からテーブルsheet_を取得2 = book.sheet_by_Index(1)インデックスによるテーブルの取得
sheet_1.cell(r, c).valueは、r行目c列目の値print(sheet_2.row(3))を返し、4行目print(sheet_2.com(3))を出力します.