(三)Pandas导入外部数据

导入.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读取所有工作表

实例:

# 导入Excel文件
import pandas as pd 
df=pd.read_excel('京东鞋子评论信息.xlsx',sheet_name='码数分析',header=None)
print(df)
'''
    0    1       2
0  42  148  77.89%
1  41   12   6.32%
2  44    6   3.16%
3  39    3   1.58%
4  43   13   6.84%
5  40    8   4.21%
'''
# 导入一列数据
import pandas as pd
df=pd.read_excel('02微机原理学员成绩统计.xlsx',sheet_name='02微机原理及格学员名单',usecols=[1])
print(df)
'''
      姓名
0     刘垒
1     于双
2     丁宁
3   高春艳
4     李帅
'''
# 导入多列数据
import pandas as pd
pd.set_option('display.unicode.east_asian_width',True)  # 调整格式,使格式整洁规范

df=pd.read_excel('02微机原理学员成绩统计.xlsx',sheet_name='02微机原理及格学员名单',usecols=['姓名','总成绩'])  # 根据标签名导入

# df=pd.read_excel('02微机原理学员成绩统计.xlsx',sheet_name='02微机原理及格学员名单',usecols=[1,4])  # 根据索引导入
print(df)
'''
      姓名  总成绩
0     刘垒      71
1     于双      69
2     丁宁      65
'''

导入csv文件

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

常用参数说明

  • filepath_or_buffer:字符串、文件路径,也可以是URL链接

  • sep:字符串、分隔符

  • header:指定作为列名的行,默认值为0,即取第一行的值为列名。数据为除列名以外的数据,若数据不包含列表,则设置header=None

  • encoding:字符串,默认值为None,文件的编码格式

# 导入CSV文件
import pandas as pd
pd.set_option('display.unicode.east_asian_width',True)

df=pd.read_csv('京东鞋子评论数据.csv',sep=',',encoding='gbk')
print(df.head())
'''
                                                               评论  \
0                       外观颜值:很不错,颜值很高。                  
1                         外观颜值:简约时尚,颜值高                  
2                       舒适度:很好,很轻便,不挤脚                  
3  总体来说不错,就是刚打开的时候味道有点呛,通风过之后就没了......   
4       鞋子样式不错,就是鞋底太硬了……                  

                  时间  颜色  尺码  Unnamed: 4  
0  2020-05-14 14:32:58  黑色  41.0         NaN  
1  2020-05-11 12:40:34  黑色  41.0         NaN  
2  2020-04-25 13:41:45  黑色  41.0         NaN  
3  2020-04-28 15:38:31  黑色  41.0         NaN  
4  2020-04-09 14:06:30  灰色  41.0         NaN 
'''

导入txt文件

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

# 导入txt文件
import pandas as pd
pd.set_option('display.unicode.east_asian_width',True)

df=pd.read_csv('rating.txt',sep='\t',encoding='gbk',header=None)
print(df.head())
'''
     0    1  2          3
0  196  242  3  881250949
1  186  302  3  891717742
2   22  377  1  878887116
3  244   51  2  880606923
4  166  346  1  886397596
'''

导入HTML网页

如果网页中含有表格,就可以用下面方法进行读取

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

参数说明

  • io:字符串、文件路径,了可以是URL链接,网址不接受https

  • match:正则表达式

  • flavor:解释器默认为’lxml’

  • header:指定列标题所在的行

  • encoding:文件的编码格式

# 导入HTML
import pandas as pd
url='https://www.espn.com/nba/salaries/_/year/2024/seasontype/4'

# DataFrame添加数据
df=pd.concat(pd.read_html(url,header=0))
print(df)
'''
    RK                         NAME                    TEAM       SALARY
0    1            Stephen Curry, PG   Golden State Warriors  $51,915,615
1    2             Kevin Durant, PF            Phoenix Suns  $47,649,433
2    3             LeBron James, SF      Los Angeles Lakers  $47,607,350
3    4              Nikola Jokic, C          Denver Nuggets  $47,607,350
'''

# 保存成CSV文件
df.to_csv('nbasalary.csv',index=False)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值