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

二、导入数据

1、导入Excel文件

导入.xls.xlsx文件:

pd.read_excel(io, sheet_name, header)

参数说明:

  • 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)
    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 导入一列数据

import pandas as pd

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

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)
     姓名  总成绩
0    刘磊      71
1    于爽      69
2    丁宁      65
3  高春艳      67
4    李帅      73
5    赵颖      79
6  杨春言      65
7  吴贤执      45
8    朱彦      64
9    李俊      68

2、导入CSV文件

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

参数说明:

  • 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())
                               评论内容             评论时间 购买颜色  鞋码
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

3、导入txt文件

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

import pandas as pd

df = pd.read_csv('../data/rating.txt', sep='\t', encoding='gbk', header=None)
print(df.head())
     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

4、导入HTML网页

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

参数说明:

  • 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)
    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

4.1 补充

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

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_leoatliang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值