Python使用pandas导入xlsx格式的excel文件内容操作代码


Posted in Python onDecember 24, 2022

Python使用pandas导入xlsx格式的excel文件内容

1. 基本导入

在 Python中使用pandas导入.xlsx文件的方法是read_excel()。

# coding=utf-8
import pandas as pd

df = pd.read_excel(r'G:\test.xlsx')
print(df)

Python使用pandas导入xlsx格式的excel文件内容操作代码

电脑中的文件路径默认使用\,这个时候需要在路径前面加一个r(转义符)避免路径里面的\被转义。也可以不加 r,但是需要把路径里面的所有\转换成/,这个规则在导入其他格式文件时也是一样的,我们一般选择在路径前面加r

2. 列标题与数据对齐

因为我们的表格中有中文,中文占用的字符和英文、数字占用的字符不一样,因此需要调用pd.set_option()使表格对齐显示。如果你是使用 Jupyter 来运行代码的,Jupyter 会自动渲染出一个表格,则无需这个设置。

import pandas as pd
#处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.ambiguous_as_wide', True)
#无法对齐主要是因为列标题是中文
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel(r'G:\test.xlsx')
print(df)

效果如下:

Python使用pandas导入xlsx格式的excel文件内容操作代码

3. 指定导入某个sheet

通过sheet_name参数可以指定要导入哪个sheet的内容。注意这里的名字是区分大小写的。

import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel(r'G:\test.xlsx', sheet_name='Sheet1')
print(df)

除了可以指定具体的sheet名字,还可以传入sheet的index下标,从0开始计数。例如:

# coding=utf-8
import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel(r'G:\test.xlsx', sheet_name=0)
print(df)

如果不指定sheet_name参数,那么默认导入的都是第一个sheet的内容。

4. 指定行索引

在本地文件导入DataFrame时,行索引使用的从0开始的默认索引,可以通过设置index_col参数来设置。

# coding=utf-8
import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel(r'G:\test.xlsx', sheet_name=0, index_col=0)
print(df)

Python使用pandas导入xlsx格式的excel文件内容操作代码

5. 指定列索引

将本地文件导入DataFrame时,默认使用源数据表的第一行作为列索引,也可以通过设置header参数来设置列索引。 header参数值默认为0,即用第一行作为列索引;也可以是其他行,只需要传入具体的那一行即可;也可以使用默认从0开始的数作为列索引。

使用默认从0开始的数作为列索引示意:

# coding=utf-8
import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel(r'G:\test.xlsx', sheet_name=0, header=None)
print(df)

Python使用pandas导入xlsx格式的excel文件内容操作代码

6. 指定导入列

有的时候本地文件的列数太多,而我们又不需要那么多列时,我们就可以通过设定usecols参数来指定要导入的列。

Python使用pandas导入xlsx格式的excel文件内容操作代码

从参数的形式来看,可以通过以下几种形式来指定:

  • 通过列表指定,列表中是列的下标,从0开始计数。
  • 通过列表指定,列表中是列的名字
  • 通过元组指定, 元组中是列的名字

示例如下:

df = pd.read_excel(r'G:\test.xlsx', sheet_name=0, usecols=[0,1])
print(df)

Python使用pandas导入xlsx格式的excel文件内容操作代码

df = pd.read_excel(r'G:\test.xlsx', sheet_name=0, usecols=['姓名','性别'])
print(df)

Python使用pandas导入xlsx格式的excel文件内容操作代码

df = pd.read_excel(r'G:\test.xlsx', sheet_name=0, usecols=('姓名','年龄'))
print(df)

Python使用pandas导入xlsx格式的excel文件内容操作代码

7. 指定导入的行数

如果文件很大,我们不想导入全部的行,只需要导入前面若干行进行分析即可,那么可以通过nrows参数来指定导入多少行数据

df = pd.read_excel(r'G:\test.xlsx', sheet_name=0, nrows=2)
print(df)

Python使用pandas导入xlsx格式的excel文件内容操作代码

8. 更多的参数

请参考pandas官方文档。

到此这篇关于Python使用pandas导入xlsx格式的excel文件内容的文章就介绍到这了,更多相关Python 导入xlsx格式的excel文件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
pycharm 使用心得(九)解决No Python interpreter selected的问题
Jun 06 Python
Python将图片批量从png格式转换至WebP格式
Aug 22 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 Python
Python调用C++,通过Pybind11制作Python接口
Oct 16 Python
PyQt5实现五子棋游戏(人机对弈)
Mar 24 Python
详解Python:面向对象编程
Apr 10 Python
Python3.5模块的定义、导入、优化操作图文详解
Apr 27 Python
python操作小程序云数据库实现简单的增删改查功能
Jun 06 Python
python如何从键盘获取输入实例
Jun 18 Python
简述 Python 的类和对象
Aug 21 Python
获取CSDN文章内容并转换为markdown文本的python
Sep 06 Python
Django url 路由匹配过程详解
Jan 22 Python
Python 第三方库 openpyxl 的安装过程
Dec 24 #Python
python index() 与 rindex() 方法的使用示例详解
Dec 24 #Python
python+pyhyper实现识别图片中的车牌号思路详解
Dec 24 #Python
python pandas 解析(读取、写入)CSV 文件的操作方法
Dec 24 #Python
Python TypeError: ‘float‘ object is not subscriptable错误解决
Dec 24 #Python
python 使用pandas读取csv文件的方法
Dec 24 #Python
Python使用pandas导入csv文件内容的示例代码
Dec 24 #Python
You might like
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
探讨php define()函数及defined()函数使用详解
2013/06/09 PHP
php计算一个文件大小的方法
2015/03/30 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
js页面跳转常用的几种方式
2010/11/25 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
Django开发的简易留言板案例详解
2018/12/04 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
一套带答案的C++笔试题
2014/01/10 面试题
七年级历史教学反思
2014/02/05 职场文书
2014年教师节寄语
2014/08/11 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
七年级数学教学反思
2016/02/17 职场文书
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技