Python使用pandas导入xlsx格式的excel文件内容操作代码
作者:smart_cat 发布时间:2022-03-12 04:29:57
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)
电脑中的文件路径默认使用\,这个时候需要在路径前面加一个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)
效果如下:
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)
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)
6. 指定导入列
有的时候本地文件的列数太多,而我们又不需要那么多列时,我们就可以通过设定usecols参数来指定要导入的列。
从参数的形式来看,可以通过以下几种形式来指定:
通过列表指定,列表中是列的下标,从0开始计数。
通过列表指定,列表中是列的名字
通过元组指定, 元组中是列的名字
示例如下:
df = pd.read_excel(r'G:\test.xlsx', sheet_name=0, usecols=[0,1])
print(df)
df = pd.read_excel(r'G:\test.xlsx', sheet_name=0, usecols=['姓名','性别'])
print(df)
df = pd.read_excel(r'G:\test.xlsx', sheet_name=0, usecols=('姓名','年龄'))
print(df)
7. 指定导入的行数
如果文件很大,我们不想导入全部的行,只需要导入前面若干行进行分析即可,那么可以通过nrows参数来指定导入多少行数据
df = pd.read_excel(r'G:\test.xlsx', sheet_name=0, nrows=2)
print(df)
8. 更多的参数
请参考pandas官方文档。
来源:https://blog.csdn.net/hubing_hust/article/details/128412197


猜你喜欢
- 本文实例讲述了python中的闭包用法。分享给大家供大家参考。具体分析如下:什么是闭包?简单说,闭包就是根据不同的配置信息得到不同的结果再来
- 本文实例分析了thinkphp的四种url访问方式。分享给大家供大家参考。具体分析如下:一、什么是MVC thinkphp的MV
- 学习使用存储过程(Stored Procedure),是ASP程序员的必须课之一。所有的大型数据库都支持存储过程,比如Oracle
- 1.准备工作下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d:\\
- 前言本文目的:根据本人的习惯与理解,用最简洁的表述,介绍爬虫的定义、组成部分、爬取流程,并讲解示例代码。基础爬虫的定义:定向抓取互联网内容(
- 1、各种用法说明A. 最简单的用法:mysqldump -uroot -pPassword [database name] &g
- 简介:外部连接和自联接inner join(等值连接) 只返回两个表中联结字段相等的行left join(左联接) 返回包括左表中的所有记录
- 本文实例为大家分享了微信小程序实现简单倒计时的具体代码,供大家参考,具体内容如下任务描述:计时器任务要求:案例描述:设计一个实现倒计时功能的
- 上一篇介绍了 HTML5 中 Canvas 的基本概念,这篇将要介绍一下 Canvas&n
- lambdalambda可以理解为一种小函数,但是它是一个表达式,而不是一个语句,所以在def不允许出现的地方仍然可以使用lambda函数,
- new Array() new Array(len) new Array([item0,[item1,[item2,...]]] 使用数组对
- 本文介绍了C#连接Oracle数据库的过程。通过instant client和ODP.net中的Oracle.DataAccess.dll,
- asp采集常用的几个FUCTION如:利用流保存文件,利用fso检测文件是否存在,利用fso检测文件夹是否存在,保存文件,取得远程数据等1.
- 阅读上一篇:微软建议的ASP性能优化28条守则(2) 技巧 5:不要将数据库连接缓存在 Application 或 Session 对象中
- 本文实例讲述了Python多线程下载文件的方法。分享给大家供大家参考。具体实现方法如下:import httplibimport urlli
- 前言今天笔者想和大家来聊聊python接口自动化如何使用requests库发送http请求,废话呢笔者就不多说了,直接进入正题。一、requ
- 题目:请求出任意区间[a,b]的所有素数,简单考虑实用性这道题看起来应该很easy是吧,但任意区间(这个问题有没get 到)Afanty的分
- 有时我们会碰到类似下面这样的 unicode 字符串:u'\xe4\xbd\xa0\xe5\xa5\xbd'这明显不是一个正
- np.random模块常用的一些方法介绍名称作用numpy.random.rand(d0, d1, …, dn)生成一
- 分组:根据研究目的,将所有样本点按照一个或多个属性划分为多个组,就是分组。pandas中,数据表就是DataFrame对象,分组就是grou