pandas excelファイルの読み取り(複数のテーブルを含む)
1.excelを読み込む
EXcelの読み取りは主に
xls_file=pd.read_excel(io = 'e:/test/111.xlsx') xls_file2=pd.read_excel(io = 'e:/test/222.xlsx', sheetname=1) xls_file3=pd.read_excel(io = 'e:/test/333.xlsx', sheetname=2) xls_file4=pd.read_excel(io = 'e:/test/444.xlsx', sheetname=3)
2.excelへの書き込み
書き込みexcelは主にpandasによって
EXcelの読み取りは主に
read_excel
関数によって実現され、pandas
に加えてサードパーティ製ライブラリxlrd
をインストールする必要があります.pd.read_excel(io, sheetname=0, header=0, skiprows=None, skip_footer=0, index_col=None, names=None, parse_cols=None, parse_dates=False, date_parser=None, na_values=None, thousands=None, convert_float=True, has_index_names=None, converters=None, dtype=None, true_values=None, false_values=None, engine=None, squeeze=False, **kwds)
'''
io、sheetname、header、names、encoding。
io:excel , 、 、file-like 、xlrd workbook;
sheetname: sheet, (sheet )、 (sheet )、list( , {'key':'sheet'})、none( , sheet);
header: , int、list of ints, ;
names: name , array-like 。
encoding: , 。
pandas DataFrame dict of DataFrame , DataFrame 。
'''
# :
import pandas as pd
excel_path = 'example.xlsx'
d = pd.read_excel(excel_path, sheetname=None)
print(d['sheet1'].example_column_name)
xls_file=pd.read_excel(io = 'e:/test/111.xlsx') xls_file2=pd.read_excel(io = 'e:/test/222.xlsx', sheetname=1) xls_file3=pd.read_excel(io = 'e:/test/333.xlsx', sheetname=2) xls_file4=pd.read_excel(io = 'e:/test/444.xlsx', sheetname=3)
2.excelへの書き込み
書き込みexcelは主にpandasによって
DataFrame
を構築し、to_excel
メソッドを呼び出すことによって実現される.DataFrame.to_excel(excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, encoding=None, inf_rep='inf', verbose=True, freeze_panes=None)
'''
:excel_writer。
excel_writer: excel , 、ExcelWriter ;
sheet_name: sheet ,string , 'sheet1';
na_rep: ,string ;
header: , list of string , True;
index: , , True;
encoding: ,string 。
'''
import pandas as pd
writer = pd.ExcelWriter('output.xlsx')
df1 = pd.DataFrame(data={'col1':[1,1], 'col2':[2,2]})
df1.to_excel(writer,'Sheet1')
writer.save()