导入.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)