python3 pandas讀寫excel
阿新 • • 發佈:2018-12-03
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()