1. 程式人生 > >python3 pandas讀寫excel

python3 pandas讀寫excel

0. 前言

Python Data Analysis Library 或 pandas 是基於NumPy 的一種工具,該工具是為了解決資料分析任務而建立的。Pandas 納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具,能使我們快速便捷地處理資料。本文介紹如何用pandas讀寫excel。

1. 讀取excel

讀取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)

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()