Fork me on GitHub

Pandas读取在线文件和剪贴板

Pandas读取在线文件

本文记录的是Pandas两种少用的读取文件方式:

  • 读取在线文件的数据
  • 读取剪贴板的数据

read_html

该函数表示的是直接读取在线的html文件,一般是表格的形式;将HTML的表格转换为DataFrame的一种快速方便的方法,这个函数对于快速合并来自不同网页上的表格非常有用。

具体函数的参数为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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]:

1
2
3
4
url = "https://zh.m.wikipedia.org/zh/%E5%A5%A5%E6%9E%97%E5%8C%B9%E5%85%8B%E8%BF%90%E5%8A%A8%E4%BC%9A%E4%B9%92%E4%B9%93%E7%90%83%E5%A5%96%E7%89%8C%E5%BE%97%E4%B8%BB%E5%88%97%E8%A1%A8"

df = pd.read_html(url)
df

Out[3]:

我们观察到此时读取到的df是一个列表,总长度是15

1
list

In [4]:

1
len(df)

Out[4]:

1
9

查看列表中的部分元素:此时就是一个个的DataFrame形式的数据

在线文件2

一个国外网站下的数据:https://www.fdic.gov/resources/resolutions/bank-failures/failed-bank-list/

In [7]:

1
2
df1 = pd.read_html("https://www.fdic.gov/resources/resolutions/bank-failures/failed-bank-list")
type(df1)

Out[7]:

1
list

In [8]:

1
len(df1)

Out[8]:

1
1

In [9]:

1
df1[0]

Out[9]:

读取在线CSV文件

以读取GitHub上一个CSV文件为例:

方式1:直接读取

1
2
url="https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv"
pd.read_csv(url)

方式2:通过io.Strings对象

1
2
3
4
5
6
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读取剪贴板

1
pandas.read_clipboard(sep='\\s+', **kwargs)

官网地址:https://pandas.pydata.org/docs/reference/api/pandas.read_clipboard.html

一个简单的例子说明函数使用:假设本地目录下有这样Excel表格的数据

1、先剪贴数据:【Ctrl + C】

2、运行代码下面的代码,按下MacOS中的【向上的箭头】 + 【回车键】,完成读取

如果数据比较少,省去了通过Excel或者CSV文件的读取方式

本文标题:Pandas读取在线文件和剪贴板

发布时间:2022年06月28日 - 22:06

原始链接:http://www.renpeter.cn/2022/06/28/Pandas%E8%AF%BB%E5%8F%96%E5%9C%A8%E7%BA%BF%E6%96%87%E4%BB%B6%E5%92%8C%E5%89%AA%E8%B4%B4%E6%9D%BF.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Coffee or Tea