Python之pandas数据加载、存储

Python之pandas数据加载、存储

0. 输入与输出大致可分为三类:

0.1 读取文本文件和其他更好效的磁盘存储格式
2.2 使用数据库中的数据
0.3 利用Web API操作网络资源

1. 读取文本文件和其他更好效的磁盘存储格式

pandas提供了一些用于将表格型数据读取为DataFrame对象的函数。
1.1 pandas中的解析函数:

    read_csv        从文件、URL、文件型对象中加载带分隔符的数据。默认分隔符为逗号
    read_table      从文件、URL、文件型对象中加载带分隔符的数据。默认分隔符为制表符("\t")
    read_clipboard  读取剪贴板中的数据,可以看做read_table的剪贴板版。在将网页转换为表格时很有用

    其中,read_csv、read_table使用较多。

1.2 逐块读取文本文件
    读取几行nrows
    逐块读取chunksize(行数)
1.3 将数据写到文本格式
    利用DataFrame的to_csv

2. 使用数据库中的数据

2.1 使用关系型数据库中的数据,可以使用Python SQL驱动器(PyODBC、psycopg2、MySQLdb、pymssql等)
2.2 使用非关系型数据库中的数据,如MongoDB,用其官方驱动器pymongo通过默认端口进行连接。

3. 利用Web API操作网络资源

3.1 应用lxml.html处理HTML
    步骤:
    1)利用urllib2将URL打开,然后由lxml解析得到数据流
    2)得到URL和链接文本
        使用文档根节点的findall方法以及一个XPath,以及个对象的get方法(针对URL)和text_content方法(针对显示文本)
    3)通过反复试验从文档中找到正确表格
    4)将所有步骤结合起来,将数据转换为一个DataFrame
3.2 应用lxml.objectify处理XML
    1)使用lxml.objetify解析文件
    2)通过getroot得到XML文件的根节点
3.3 使用网站通过JSOM及其他格式提供数据的公共的API
    使用requests包访问这些API

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏决胜机器学习

数据库专题(五) ——Memcached技术

数据库专题(五)——Memcached技术 (原创内容,转载请注明来源,谢谢) 一、Slab分配算法保存数据 Memcached默认只能用1M...

2825
来自专栏逸鹏说道

Owin:“System.Reflection.TargetInvocationException”类型的未经处理的异常

异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#signalR Owin:“System.Reflect...

3885
来自专栏Java架构

前沪江高级架构师学习笔记分享:分布式框架设计与实现

2046
来自专栏求索之路

Android数据层架构的实现 上篇

最近我们app的服务器吃不消了,所以我在为服务器增加缓存层之后,又想到在app端进行二级缓存以减少app对服务器的访问。我想很多app应该在项目的初期架构的时...

3198
来自专栏SDNLAB

第五届SDN大赛初赛部分试题解题思路:基于ONOS的路径反转实现

作者简介:周正强,北京邮电大学未来网络实验室在读研究生,个人邮箱:857538065@qq.com

2213
来自专栏后台全栈之路

基于汇编的 C/C++ 协程 - 实现

将 libco 和 libevent 两者的功能糅合起来,所以我把我的工程,命名为 libcoevent,意为 “基于 libevent 的同步协程服务器编程框...

5803
来自专栏不忘初心

一起看看VIM著名补全插件YouCompleteMe的架构和实现

YouCompleteMe是vim上最著名的插件之一,对于长期使用Linux和vim进行服务端开发的技术人员来说或多或少都有耳闻。

8171
来自专栏前端小叙

Vue-router路由判断页面未登录跳转到登录页面

router.beforeEach((to, from, next) => { if (to.matched.some(record => record.m...

6357
来自专栏大内老A

WCF技术剖析(卷1)之目录

第1章  WCF简介 (WCF Overview)     1.1  SOA基本概念的和设计思想        1.2  WCF是对现有Windows平台下...

2318
来自专栏Java技术栈

多线程 Thread.yield 方法到底有什么用?

我们知道 start() 方法是启动线程,让线程变成就绪状态等待 CPU 调度后执行。

1043

扫码关注云+社区

领取腾讯云代金券