本文实例讲述了Python3使用pandas模块读写excel操作。分享给大家供大家参考,具体如下:
前言
Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具,能使我们快速便捷地处理数据。本文介绍如何用pandas读写excel。
1. 读取excel
读取excel主要通过read_excel
函数实现,除了pandas
还需要安装第三方库xlrd
。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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
方法实现。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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()
|
希望本文所述对大家Python程序设计有所帮助。
原文链接:https://blog.csdn.net/brink_compiling/article/details/76890198