Python学習——Excel読み書きモジュール(xlwt/xlrd)
2625 ワード
xlwt/xlrdモジュール
Excelを読み書きする拡張ツール
xlwtモジュール
xlsファイルwriteライブラリ、書くことしかできなくて、指定のフォーム、指定のセルの書くことを実現することができます
xlrdモジュール
xlsファイルreadライブラリは、読み取り専用で、指定フォーム、指定セルの読み取りを実現できます.
1.xlwtモジュールxlsファイルオブジェクトdataの作成/保存: 表の作成:sheetページ sheetページへの操作:
2.xlrdモジュールxlsファイルオブジェクトdataの作成: xlsファイル(表)への操作:sheetページ sheetページのプロパティ:row行、column列、valueセルの値
3.セルの内容の5種類 ctype:0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
特殊型データの読み出し処理に注意:1.時間タイプの読み取りと変換セルの読み込みと書き込みをマージ
.ctype
valueタイプの表示
xlrd.xldate_as_tuple()
data形式のデータを返す
sheet1.merged_cells
連結セルの読み込み:formatting_infoパラメータをTrueに設定(デフォルトFalse)
Excelを読み書きする拡張ツール
xlwtモジュール
xlsファイルwriteライブラリ、書くことしかできなくて、指定のフォーム、指定のセルの書くことを実現することができます
xlrdモジュール
xlsファイルreadライブラリは、読み取り専用で、指定フォーム、指定セルの読み取りを実現できます.
1.xlwtモジュール
data = xlwt.Workbook(encoding = 'ascii') #encoding :
data.save('excelFile.xls')
worksheet = data.add_sheet('new_sheet')
#
worksheet.write(row_x, col_y, label = 'Value')
#
worksheet.write_merge(x, x + m, y, w + n, string, sytle) #x ,y ,m ,n ,string ,style (x/y/w/h 0 )
worksheet.write_merge(21,21,0,1,u' ',set_style('Times New Roman',220,True))# 22 1,2 , " ", style
2.xlrdモジュール
data = xlrd.open_workbook('excelFile.xls')
# sheet
table = data.sheets()[0]
table = data.sheet_by_index(0)
# sheet
sheet1= data.sheet_by_name(u'Sheet1')
# / ,
row_list=sheet1.row_values(i)
col_list=sheet1.col_values(i)
# /
row_len = table.nrows
col_len = table.ncols
# value, /
val = sheet1.cell(row_x, col_x).value
val = sheet1.row(0)[0].value
val = sheet1.col(1)[0].value
# value
sheet1.put_cell(row, col, ctype, value, xf) #xf
3.セルの内容の5種類
特殊型データの読み出し処理に注意:1.時間タイプの読み取りと変換
# , ctype
if (sheet1.cell(row,col).ctype == 3):
# data ( )
date_value = xlrd.xldate_as_tuple(sheet1.cell_value(rows,3),book.datemode)
#
date_tmp = date(*date_value[:3]).strftime('%Y/%m/%d')
#
xlrd.xldate_as_tuple(sheet1.cell(0,0).value, 0) # tuple
xlrd.xldate_as_datetime(sheet1.cell(0,0).value, 0) # datetime
# : , , ; #1. xlrd xls , formatting_info True( False)
#2. sheet1 , merged_cells ,
sheet1.merged_cells # :[(row, row_range, col, col_range), ...], (1,3,4,5)
# : ,
sheet.write_merge(x, x+m, y, y+n, string, style) # x x+m ,y y+n , style string( / 0 )
.ctype
valueタイプの表示
xlrd.xldate_as_tuple()
data形式のデータを返す
sheet1.merged_cells
連結セルの読み込み:formatting_infoパラメータをTrueに設定(デフォルトFalse)