目录

前言

一、导入.xls或.xlsx文件

1.常规导入示例: 

2.通过行、例索引导入

3.常用方法

二、导入CSV文件 

1.导入.csv文件主要使用Pandas的read_csv()方法

三、导入.txt文本文件 

1. 使用 read_csv() 方法导入 1月的 .txt 文件示例:

四、导入HTML网页

1.使用 read_html() 方法导入 NBA 球员的薪资数据示例:

前言

pandas主要包括两个数据结构,即Series对象和DataFrame对象,本文主要分别介绍导入外部数据(.xls或.xlsx和.csv或.txt或html网页)。

一、导入.xls或.xlsx文件

常用Pandas的read_excel( )方法,语法如下:

pandas.read_excel(

io,sheet_name=0,header0,names=None,index_col=None,usecols=None,squeeze=False,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skiprows=None,nrow=None,na_values=None,keep_default_na=True,verbose=False,parse_dates=False,date_parser=None,thousands=None,comment=None,skipfooter=0,conver_float=True,mangle_dupe_cols=True, **kwds)

参数说明:

io:字符串,.xls或.xlsx文件路径或文件对象(数据的加载路径)

sheet_name:None、字符串、整数、字符串列表或整数列表,默认值为 0。字符串用于工作表名称,整数为索引表示工作表位置,字符串列表或整数列表用于请求多个工作表,为 None时获取所有工作表。参数值如下图所示

值说明sheet_name=0第一个Sheet页中的数据作为DataFramesheet_name=1第二个Sheet页中的数据作为DataFramesheet_name=''Sheet1''名为Sheet的Sheet页的数据作为DataFramesheet_name=[0,1,'Sheet3']第一个、第二个和名为Sheet的Sheet页中的数据作为DataFrame

header:指定作为列名的行,默认值为0,即取第一行的值为列名。数据为除列名以外的数据;若数据不包含列名,则改首 header-None。

names:默认值为 None,要使用的列名列表。

index_col:指定列为索引列,默认值为 None,索引0是 DataFrame 的行杯签。

usecols:int、list 列表或子符串,默认值为 None。

  >>如果为 None,则解析所有列。   >>如果为int,则解析最后一列。   >>如果为 list 列表,则解析列号列表的列。   >>如果为字符串,则表示以逗号分隔的 Excel 列字母和列范围列表 (例如“A:E”或 “A,C,E:F”)。范围包括双方。

squeeze:布尔值,默认值为 False, 如果解析的数据只包含一列,则返回一个 Series。

dtype:列的数据类型名称或字典,默认值为 None。例如{a':np.float64,b'np.int32}。

skiprows:省略指定行数的数据,从第一行开始。

skipfooter: 省略指定行数的数据,从尾部数的行开始。 

1.常规导入示例: 

import pandas as pd

df = pd.read_excel('data.xlsx',encoding='utf-8')

print(df)

     姓名  年龄    工作    工资 0   张三  25    学生      200 1   李四  24    工人     3000 2   王五  22    NaN      5000 3   冯六  33  包工头   8000

 第一个参数是路径,既可以使用绝对路径又可以使用相对路径,如果文件名含有汉字,注意指定设置一下属性encoding = 'utf-8',另设置sheet_name指定具体的Sheet名字,也可传入sheet的顺序,从0开始。

2.通过行、例索引导入

DataFirarme 是二维数据结构,因此它既有行索引又有列素引。当导入 Excel 数据时,行索引会自动生成,而列素引则默认将第0行作为列素引

df = pd.read_excel('data.xlsx',encoding='utf-8',usecols=[0,2])

     姓名    工作 0   张三    学生 1   李四    工人 2   王五    NaN 3   冯六  包工头

3.常用方法

shape()可以获取excel文件的行和列,以元祖形式返回; info()获取数据类型; astype()  可转换列里面的数据类型,括号里是要转换的目标类型;如df[列2].astype('float64'); df['列'].dtype可查看列的类型 isnull()判断哪个值是缺失值; dropna()删除有缺失值的行,返回删除后的数据,传入参数how=all,要全为空值才会删除; fillna()括号内可直接填入要要填充的值,也可指定列填充,以字典形式传参; drop_duplicates()默认对所有重复值判断,默认保留keep=first第一个行值;通过keep修改,值可为last,保留最后一个,还可设置keep为False,一个也不保留。另也可指定列名去重,如传入参数subset=['列名1,列名2'],注意是以列表形式传参; head()传入的参数代表获取前几行; describe()掌握数值的分布情况,如均值,最值,方差,分位数。 column和index可设置列索引和行索引,以列表形式传参; set_index()重新设置索引列,传入要指名要用做行索引的名称; reset_index(level = None,drop=False,inplace = False),level指定要将层次化索引的第几级别转化为columns,第一个索引为0级,第二个为1级,默认全部转化为columns。drop是否将原索引删掉,inplace是否修改原数据表;该方法常用于数据分组和数据透视表中。 rename()重命名索引,可重新设置columns和index,以字典形式传参,key为原值,value为替换后的值。

二、导入CSV文件 

1.导入.csv文件主要使用Pandas的read_csv()方法

import pandas as pd

df = pd.read_csv('data.csv',encoding='gbk',)

print(df)

注意:

上述代码中指定了编码格式,即encoding-gbk'。Dython 常用的编码格式是UIF-8和gbk,默认编码格式为 UTF-8。导入.csv文件时,需要通过encoding 参数指定编码格式。当将Excel文件另存为.csv 文件时,默认编码格式为gbk,此时当编写代码导入.csv 文件时,就需要设置编码格式为gbk,与源文件编码格式保持一致;否则会提示错误。

三、导入.txt文本文件 

导入.txt 文件同样使用 Pandas的read_csv()方法,不同的是需要指定sep参数(如制表行\t)。read_ csv()方法读取.txt 文件返回一个 DataFrame,像表格一样的二维数据结构,如图所示。

1. 使用 read_csv() 方法导入 1月的 .txt 文件示例:

四、导入HTML网页

 导入 HTML 网页数据主要使用 Pandas 的read_html方法,该方法用于导入带有table 标签的网页 表格数据,语法如下:

pandas.read_html(

io,match='.+',flavor=None,header=None,index_col=None,skiprows=None,attrs=None,parse_dates=False,thousands=',',encoding=None,decimal='.',converters=None,na_values=None,keep_default_na=True,displayed_only=True)

常用参数说明: io: 字符串,文件路径,也可以是 URL 链接。网址不接受https,可以尝试去掉https 中的s 后爬取,如 http://www.mingribook.com。

match:正则表达式,返回与正则表达式匹配的表格。

flavor:解析器默认为 lxml。

header:指定列标题所在的行,列表 list 为多重索引。

index_col:指定行标题对应的列,列表 list 为多重索引。

encoding: 宇符串,默认为 None, 文件的编码格式。

返回值:返回一个 DataFrame。

使用read_htnl()方法前,首先要确定网页表格是否为 table 类型。例如,NBA 球员薪资网页 (http://www.espn.com/nba/salaries),右击该网页中的表格,在弹出的快捷菜单中选择“检查元素” 命令,查看代码中是否含有表格标签

...</table>的宇样,确定后才可以使用read_html()方法。 

1.使用 read_html() 方法导入 NBA 球员的薪资数据示例:

参考链接:

http://www.360doc.com/content/23/0109/08/73874201_1063030517.shtml

好文推荐

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: 

发表评论

返回顶部暗黑模式