Pandas读取在线文件和剪贴板

2023-08-25 10:57:47 浏览数 (1)

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)

0 人点赞