【Pandas基础】在线文件和剪贴板数据读取

今天给大家介绍Pandas中两种少用的数据读取文件方式:

- 读取在线文件的数据

- 读取剪贴板的数据

声明:本文案例和在线数据仅用于学术分享

read_html

该函数表示的是直接读取在线的html文件,一般是表格的形式;将HTML的表格转换为DataFrame的一种快速方便的方法。

这个方法对于快速合并来自不同网页上的表格非常有用,就省去了爬取数据再来读取的时间。

具体函数的参数为:

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  # 是否应该解析带有“display:none” 的元素
                )

在线文件1

读取维基百科上一份历届奥运会乒乓球冠军的相关数据。该地址下的部分表格形式的数据:

7b8519c37b7659ae69e1b67d547087d9.png 039ab4528187f1df3d355e455d3bb492.png

In [3]:

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

list

In [4]:

len(df)

Out[4]:

9

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

9e5f67eda767addc29452e64014a8ade.png 905ebc54a6743db667357c53cb7c9d49.png

在线文件2

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

35f46a333e854e65a2a277de055d0788.png

In [7]:

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

Out[7]:

list

In [8]:

len(df1)

Out[8]:

1

In [9]:

df1[0]

Out[9]:

0775f28fa0b1a2d8397933119350ea6f.png

读取在线CSV文件

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

方式1:直接读取

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

方式2:通过io.Strings对象

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读取剪贴板

pandas.read_clipboard(sep='\\s+', **kwargs)
82b959daf3b49d77fd561c4a1a5f516c.png

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

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

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

95e241d146047097e79b6e4185cecf65.png

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

Windows下面应该是【Shift + Enter】

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

a9b28e0ca1a127f096b66074f1ba4346.png
 
 

END -

 
 
对比Excel系列图书累积销量达15w册,让你轻松掌握数据分析技能,可以点击下方链接进行了解选购:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值