Python3使用pandas模块读写excel操作示例


Posted in Python onJuly 03, 2018

本文实例讲述了Python3使用pandas模块读写excel操作。分享给大家供大家参考,具体如下:

前言

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

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python登录QQ邮箱发信的实现代码
Feb 10 Python
python之wxPython应用实例
Sep 28 Python
python中管道用法入门实例
Jun 04 Python
python结合opencv实现人脸检测与跟踪
Jun 08 Python
python 通过 socket 发送文件的实例代码
Aug 14 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
python 实现12bit灰度图像映射到8bit显示的方法
Jul 08 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
自学python用什么系统好
Jun 23 Python
MoviePy常用剪辑类及Python视频剪辑自动化
Dec 18 Python
Python NumPy灰度图像的压缩原理讲解
Aug 04 Python
Python+pandas计算数据相关系数的实例
Jul 03 #Python
在dataframe两列日期相减并且得到具体的月数实例
Jul 03 #Python
python设置值及NaN值处理方法
Jul 03 #Python
数据清洗--DataFrame中的空值处理方法
Jul 03 #Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 #Python
Django框架的使用教程路由请求响应的方法
Jul 03 #Python
pandas 选择某几列的方法
Jul 03 #Python
You might like
PHP中其实也可以用方法链
2011/11/10 PHP
php去除换行(回车换行)的三种方法
2014/03/26 PHP
php socket实现的聊天室代码分享
2014/08/16 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
jQuery插件扩展实例【添加回调函数】
2016/11/26 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
AngularJS路由删除#符号解决的办法
2017/09/28 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
node 命令方式启动修改端口的方法
2018/05/12 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
2018/10/10 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
python中pass语句用法实例分析
2015/04/30 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
对python中的装包与解包实例详解
2019/08/24 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
matplotlib.pyplot画图并导出保存的实例
2019/12/07 Python
Python3.9新特性详解
2020/10/10 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
css3通过scale()、rotate()实现放大、旋转
2020/03/19 HTML / CSS
澳大利亚在线生活方式商店:Mytopia
2018/07/08 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
代理班主任的自我评价
2014/02/04 职场文书
施工材料员岗位职责
2014/02/12 职场文书
村长贪污检举信
2014/04/04 职场文书
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
红色故事演讲稿
2014/05/22 职场文书
Java基础之this关键字的使用
2021/06/30 Java/Android