Pandas读取在线文件
read_html
该函数表示的是直接读取在线的html文件,一般是表格的形式;将HTML的表格转换为DataFrame的一种快速方便的方法,这个函数对于快速合并来自不同网页上的表格非常有用。
具体函数的参数为:
代码语言:javascript复制pandas.read_html(io, # 文件 io 对象;路径或者io.Strings对象
match='. ', # str 或编译的正则表达式,可选
flavor=None, # 要使用的解析引擎, 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)
在线文件1
读取维基百科上一份历届奥运会乒乓球冠军的相关数据。该地址下的部分表格形式的数据:
In [3]:
代码语言:javascript复制url = "https://zh.m.wikipedia.org/zh/奥林匹克运动会乒乓球奖牌得主列表"
df = pd.read_html(url)
df
Out[3]:
我们观察到此时读取到的df是一个列表,总长度是15
代码语言:javascript复制list
In [4]:
代码语言:javascript复制len(df)
Out[4]:
代码语言:javascript复制9
查看列表中的部分元素:此时就是一个个的DataFrame形式的数据
在线文件2
In [7]:
代码语言:javascript复制df1 = pd.read_html("https://www.fdic.gov/resources/resolutions/bank-failures/failed-bank-list")
type(df1)
Out[7]:
代码语言:javascript复制list
In [8]:
代码语言:javascript复制len(df1)
Out[8]:
代码语言:javascript复制1
In [9]:
代码语言:javascript复制df1[0]
读取在线CSV文件
以读取GitHub上一个CSV文件为例:
方式1:直接读取
代码语言:javascript复制url="https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv"
pd.read_csv(url)
方式2:通过io.Strings对象
代码语言:javascript复制url="https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv"
response=requests.get(url).content # 先发请求
df2 = pd.read_csv(io.StringIO(response.decode('utf-8')))
df2 # 效果同上
Pandas读取剪贴板
代码语言:javascript复制pandas.read_clipboard(sep='\s ', **kwargs)