Python pandas读取Excel文件

excelperfect

标签:Python与Excel,pandas

要使用Python处理数据,首先要将数据装载到Python,这里使用Python pandas来读取Excel文件。

pandas是Python编程语言中数据操作的事实标准。如果使用Python处理任何形式的数据,需要pandas。如果你没有安装pandas,可以在命令行中输入:

pip install pandas --upgrade

安装pandas。

如果安装出现异常,可以还需要先安装openpyxl:

pip install openpyxl

pandas库提供了几种便捷的方法来读取不同的数据源,包括Excel和CSV文件。这里我们将探讨两种方法:pd.read_excel()和pd.read_csv()。

pd.read_excel()方法及参数

read_excel()方法包含大约几十个参数,其中大多数是可选的。对于初学者,我们只介绍下面几个参数。

read_excel(io,sheet_name=0,header=0,names=None,usecols=None)

其中:

  • io通常是:表示文件路径的字符串或ExcelFile对象,后面会对此主题进行详细介绍。

  • Sheet_name可以是字符串或整数,代表想要pandas读取的工作表。

  • header通常是一个整数,用于告诉要将工作表的哪一行用作数据框架标题。

  • names通常是可以用作列标题的名称列表。

  • usecols可以是整数、字符串或列表,用于指示pandas仅从Excel文件中提取某些列。

这里是本文的示例工作簿(“用户.xlsx”),可以到pythoninoffice.com或者知识星球完美Excel社群下载。

按照惯例,“pd”是“pandas”的缩写,“df”是“dataframe”的缩写。

图1:读取Excel文件

io和sheet_name

pd.read_excel('D:\用户.xlsx')是最简单的形式,它(默认情况下)将为我们提供输入excel文件的第一个工作表表单,即“用户信息”工作表。

pf.read_excel('D:\用户.xlsx',sheet_name='购物清单')表示我们将得到第二个工作表,名为“购物清单”。

pf.read_excel('D:\用户.xlsx',sheet_name=[0,2])将返回excel文件的第一个和第三个工作表。返回的值是数据框架的字典。

header

如果由于某种原因,Excel工作表上的数据不是从第1行开始的,你可以使用header告诉Panda“嘿,此数据的标题在第X行”。示例Excel文件中的第四个工作表从第4行开始。在没有特别指示的情况下阅读该表,pandas会认为我们的数据没有列名。

图2:非标准列标题,数据不是从第1行开始

这并不好,数据框架需要一些清理。相反,我们可以通过指定header参数稍微修改代码。记住,Python使用基于0的索引,因此第4行的索引为3。

图3:指定列标题所在行

names

如果不喜欢源Excel文件中的标题名,可以使用names参数创建自己的标题名。

图4:自定义列标题名称

usecols

通过指定usecols,我们限制加载到Python中的Excel列,如果你有一个大型数据集,并且不需要所有列,就可以使用这个参数。下面的示例将只读取顾客姓名和购物名列到Python。

图5:指定我们想要的列

pd.read_csv()方法及参数

顾名思义,此方法读取csv文件。

CSV代表“逗号分隔值”,因此.CSV文件基本上是一个文本文件,其值由逗号分隔。这意味着还可以使用此方法将任何.txt文件读入Python。

read_csv()的参数类似于read_excel(),这里不再重复。然而,有一个参数值得说明:sep或delimiter。它用于告诉pandas使用什么分隔符来分隔数据。使用这里的示例文本文件(可在知识星球完美Excel社群中下载)可以看到基本上可以使用任何字符作为分隔符。

图6:使用问号(?)分隔文本

图7:可以使用“?”作为分隔符

注:本文学习整理自pythoninoffice.com。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。

(0)

相关推荐