当前位置:   article > 正文

【Pandas数据分析2】导入数据_pandas导入数据

pandas导入数据

二、导入数据

1、导入Excel文件

导入.xls.xlsx文件:

pd.read_excel(io, sheet_name, header)
  • 1

参数说明:

  • io:.xls.xlsx文件路径或类文件对象
  • sheet_name:工作表,取值如下表所示
  • header:默认值为0,取第一行的值为列名,数据为除列名以外的数据。如果数据不包含列名,则设置header=None
说明
sheet_name=0第一个Sheet页中的数据作为DataFrame对象
sheet_name=1第二个Sheet页中的数据作为DataFrame对象
sheet_name=‘Sheet1’名称为’Sheet1’的Sheet页中的数据作为DataFrame对象
sheet_name=[0, 1, ‘Sheet3’]第一个、第二个和名称为Sheet3的Sheet页中的数据作为DataFrame对象
sheet_name=None读取所有工作表

1.1 导入全部数据

import pandas as pd

df = pd.read_excel('../data/京东鞋子评论信息.xlsx', sheet_name='码数分析', header=None)
print(df)
  • 1
  • 2
  • 3
  • 4
    0  1    2
0  39  2  0.2
1  40  1  0.1
2  42  4  0.4
3  43  2  0.2
4  45  1  0.1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

1.2 导入一列数据

import pandas as pd

df = pd.read_excel('../data/学员成绩统计.xlsx', sheet_name='及格成员名单', usecols=[1])
print(df)
  • 1
  • 2
  • 3
  • 4
    姓名
0   刘磊
1   于爽
2   丁宁
3  高春艳
4   李帅
5   赵颖
6  杨春言
7  吴贤执
8   朱彦
9   李俊
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

1.3 导入多列数据

import pandas as pd

pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel('../data/学员成绩统计.xlsx', sheet_name='及格成员名单', usecols=['姓名', '总成绩'])
print(df)
  • 1
  • 2
  • 3
  • 4
  • 5
     姓名  总成绩
0    刘磊      71
1    于爽      69
2    丁宁      65
3  高春艳      67
4    李帅      73
5    赵颖      79
6  杨春言      65
7  吴贤执      45
8    朱彦      64
9    李俊      68
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2、导入CSV文件

pd.read_csv(filepath_or_buffer, sep=',', header, encoding=None)
  • 1

参数说明:

  • filepath_or_buffer:字符串。文件路径,也可以是URL链接
  • sep:字符串。分隔符
  • header:指定作为列名的行,默认值为0。即取第一行的值为列名。数据为除列名以外的数据,若数据不包含列表,则设置header=None
  • encoding:字符串,默认值为None。文件的编码格式

import pandas as pd

df = pd.read_csv('../data/京东鞋子评论信息.csv', sep=',', encoding='gbk')
print(df.head())
  • 1
  • 2
  • 3
  • 4
                               评论内容             评论时间 购买颜色  鞋码
0           清爽不油腻,百搭百配小白鞋。我就喜欢这一款了。  2021/7/26 11:57  黑白兰  39
1                          和想象中的一样好  2022/3/27 19:15   灰黑  42
2       因为这是跑鞋,所以它的抓地能力被做的很有效,质感很好。  2021/8/24 22:03  黑白灰  40
3  鞋子质量很不错,看起来很舒服,但是鞋子容易弄脏,好在网面不是白色  2022/2/26 22:34  白灰绿  43
4                              挺新颖的  2021/9/25 14:31  黑白灰  42
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3、导入txt文件

pd.read_csv(filepath_or_buffer, sep='\t', header, encoding=None)
  • 1

import pandas as pd

df = pd.read_csv('../data/rating.txt', sep='\t', encoding='gbk', header=None)
print(df.head())
  • 1
  • 2
  • 3
  • 4
     0    1  2         3
0  196  242  9  88125094
1  852  456  8  74125896
2  423  521  2  15981236
3  123  125  0  12345695
4  147  741  4  14752385
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4、导入HTML网页

pd.read_html(io, match='.+', flavor, header, encoding)
  • 1

参数说明:

  • io:字符串。文件路径,可以是URL链接,网址不接受https
  • match:正则表达式
  • flavor:解释器,默认为’lxml’
  • header:指定列标题所在的行
  • encoding:文件的编码格式

链接:http://www.espn.com/nba/salaries

import pandas as pd

url = 'http://www.espn.com/nba/salaries'
df = pd.DataFrame()  # 创建一个空的DataFrame对象

# DataFrame添加数据
df = df.append(pd.read_html(url, header=0))
print(df)

# 保存成CSV文件
df.to_csv('../data/nba_salaries.csv', index=False)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
    RK                         NAME                    TEAM       SALARY
0    1            Stephen Curry, PG   Golden State Warriors  $48,070,014
1    2        Russell Westbrook, PG      Los Angeles Lakers  $47,063,478
...
10  RK                         NAME                    TEAM       SALARY
...
21  RK                         NAME                    TEAM       SALARY
...
32  RK                         NAME                    TEAM       SALARY
...
41  39           Gordon Hayward, SF       Charlotte Hornets  $30,075,000
42  40        Jaren Jackson Jr., PF       Memphis Grizzlies  $28,946,605
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

4.1 补充

在读取HTML网页时,当使用F12(或鼠标右键,点击检查)查看网页源代码时,具有table标签时,才可以读取,如下图所示:

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号