pandas读写各种类型数据

read_X()通常是pandas模块下的,to_X()是dataframe的方法

CSV

读取

使用pandas.read_csv()方法,返回的是一个dataframe

csv默认是以","分割的

csv文件内容

1、read_csv()默认以第一行数据作为标题

2、调用dataframe的head()方法可以返回所有行数据,若传入一个n,则返回前n行数据。默认n=5

也可以使用nrows参数截取,并且是在跳行的基础上

 

3、若不希望第一行作为标题,或者在read_csv()中添加参数header=None

4、自定义列名(标题)

在read_csv()中传入参数names

5、跳行

上例中原标题也被读取出来了,通过参数skiprows可以跳行

6、指定分隔符

通过sep参数,可以传入正则表达式

比如有如下csv文件

7、分块处理大型文件

通过chunk参数可以指定每次处理的行数,返回类型为TextFileReader

TextFileReader由多个dataframe组成

写入

1、将dataframe写入csv,通过to_csv()方法

可以将header和index参数设置为False,不将列名和索引写入

2、写入NaN

将具有NaN数据的dataframe写入csv文件,此时NaN写入文件为空

若想要指定NaN写入的数据,通过na_rep参数指定

 

文本文件

读取

对于csv文件,也可以通过读取文本文件的方法来读取

1、通过dataframe.read_table(),其中传入参数sep分隔符

同样有header和skiprows参数

2、指定某列为索引

原文件:

通过属性index_col()传入指定列名

html

html的读写只针对于python中的dataframe和网页中的表格

写入

1、将dataframe转化为html

可以通过dataframe.to_html()方法,返回的是表格的html代码

2、保存为html文件

将html代码写入html文件中,通过File.write()实现

读取

1、通过pandas.read_html()实现,返回一个dataframe的列表

2、也可以读取http网址

XML

读取

pandas中没有提供直接读取xml文件的API,但可以借助lxml库来读取xml文件

当前有一个xml文件

通过lxml库下的objectify.parse()可以解析xml文件,返回的是一个元素树类型

可以通过元素树的getroot()方法获取根,即最外一层的data。此时root类型名即为最外层标签名

root下有student子标签,student下有name,age,city子标签。同样标签名即为类型名

root.student是一个由两个元素的列表,通过items()可以获取标签中所有元素

如果只想获取name的值,通过values()方法

比如想要访问lisi的age值

将xml转化为dataframe

根据具体xml格式确定好索引和列

EXCEL

pandas支持.xls和.xlsx两种类型的excel,通过to_excel和read_excel实现了写和读。pandas内部整合了xlrd模块

读取

1、当前有一个.xlsx文件,有2个sheet

通过read_excel函数可以返回一个dataframe,默认读取一个sheet

2、指定读取的表格,传入参数表名或者用索引表示

写入

将dataframe通过to_excel()写入到excel文件中,并可以指定表名

可见保存了索引和列名

JSON

通过read_json()和to_json()

json类型中数据通过jason格式转化可见,一列为一个字典

HDF5

HDF5是二进制文件格式的一种

python中需要用Pytable来处理HDF5格式的数据。pandas提供了一个叫HDFStore的类,类似于字典,用它来借助Pytable存储dataframe对象。因此必须引入HDFStore,位于pandas.io.pytables内

写入

首先声明一个HDFStore对象,并创建HDF5文件,以.h5为后缀

向.h5文件中加入这个dataframe,key值自定义,value为df。并且HDFStore对象需要flush到文件中

读取

取出dataframe,因为HDFStore类似于字典

pickle对象序列化

pickle模块或cPickle模块使用的数据格式是python中特有的序列化格式,它是一种可读的序列化方式,默认使用的ASCII表达式

序列化

首先需要引入pickle模块,通过字典来装载后调用pickle.dumps()方法实现序列化

写入

通过to_pickle将dataframe写入到.plk文件

 读取

数据库

pandas为操作数据库提供了同一的接口sqlalchemy,连接数据库使用create_engine函数,在这个函数中配置驱动器所需要的用户名密码端口和数据库实例

各种数据库的连接方法

SQLite

python内置了数据库SQLite3,它的数据实际上是一个文件

写入

会在当前目录下创建test.db文件

读取

read_sql函数中第一个参数指定表名

MySQL

创建连接,需安装mysql-connector-python模块,test为数据库名

如果+mysqldb需要安装mysql-python模块

写入

通过可视化软件可以观察到,index作为单独的一列

读取

1、读取全表

2、查询读取

通过read_sql_query函数可以传入一个mysql查询语句

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 类装饰器

1 装饰器无参数 class tracer: def __init__(self,func): self.calls 0 self.func func def __call__(self,*args): self.calls 1 print(call %s to %s %(self.calls, self.func.__name__)) self.func(*args) tracer def spam(a, b, c): print(a b c) …

【数据分析】使用pandas和numpy分析美国大选献金项目

1. 数据载入与总览 1.1 数据加载 #绘图工具 import matplotlib.pyplot as plt %matplotlib inline #数据处理工具 import numpy as np import pandas as pd from pandas import Series,DataFrame#数据路径自己指定,本案例数据路径就在当前文件夹下面子文件夹usa_e…

《容器技术系列》一1.4 Docker运行案例分析

本节书摘来华章计算机《容器技术系列》一书中的第1章 ,第1.4节,孙宏亮 著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。 1.4 Docker运行案例分析 1.3节着重介绍了Docker架构中各个模块的功能,学完后我们可以对Docker的架构有一…

3月22日AM

看了思维章节精讲视频课,并且总结了部分思维章节内容转载于:https://www.cnblogs.com/bgd140206102/p/6601440.html

阿里巴巴Dubbo实现的源码分析

Dubbo概述Dubbo是阿里巴巴开源出来的一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及作为SOA服务治理的方案。它的核心功能包括: remoting:远程通讯基础,提供对多种NIO框架抽象封装,包括“同步…

H264 CAVLC 研究

目录 1 CAVLC概念 2 CAVLC原理 3 CAVLC编码流程 4 CAVLC解码流程 展开全部 1 CAVLC概念 2 CAVLC原理 3 CAVLC编码流程 4 CAVLC解码流程 收起 摘要纠错编辑摘要 CAVLC即基于上下文的自适应变长编码。H.264标准中使用CAVLC对4*4模块的亮度和色度残差数据进行编码。 CAVLC-CAVLC…

instanceof 的运用

2019独角兽企业重金招聘Python工程师标准>>> Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。 用法: result object i…

R 脚本读取汇总 Excel 表格数据

主要用到了 xlsx 和 rJava 包,打开 Excel 文件,读取各表格数据,再写入到汇总表。 下图为处理前的原始数据表格: 下图为处理后的数据: 代码实现 安装&加载包的函数实现。installed.packages() 函数获取所有已安装…

【大数据】最新大数据学习路线(完整详细版,含整套教程)

大数据学习路线 java(Java se,javaweb) Linux(shell,高并发架构,lucene,solr) Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume) 机器学习(R,mahout) Storm(Storm,kafka,redis) Spark(scala,spark,spark core,spark sql,spark streaming,spark mllib,spa…

谷歌浏览器开发调试工具中Sources面板 js调试等 完全介绍

这次分享的是Chrome开发工具中最有用的面板Sources。 Sources面板几乎是我最常用到的Chrome功能面板,也是在我看来决解一般问题的主要功能面板。通常只要是开发遇到了js报错或者其他代码问题,在审视一遍自己的代码而一无所获之后,我首先就会打…

【Python】最新Python学习路线(完整详细版,含整套教程)

python目前应用最广的三个岗位:全栈开发、数据分析、运维开发,今天我们就以这三个重点的岗位来做一下自学Python的规划,希望你在学之前就能有明确的学习方向。 最近开始整理python的资料,博主建立了一个qq群,希望给大家…

程序员,软件测试知多少?

送给初级程序员的测试认知文作为开发同学,一些基本的测试岗位相关知识还是很有必要了解一下,免的某些同学在工作中和测试同学斗嘴、打架、群殴等以及被测试鄙视....。 我们常常听说的一些测试专业术语,比如白盒、黑盒、单元测试,相…

vue 入门环境搭建

公司项目要用vue.js来开发,要使用vue来开发前端框架,首先要有环境,所以给大家介绍一下如何搭建vue环境。其实很简单: 1.首先下载安装node.js。 去官网https://nodejs.org/zh-cn/下载安装包。 2.安装webpack 打开cmd命令界面&#…

【解决】Win10修改host没有权限问题

Step1:右键文件选择属性,选择安全,点击编辑: Step2:在弹窗中点击添加,在弹窗中点击高级: Step3:在弹窗中点击立即查找,选中当前用户,点击确定: …

[已授权] 互联网定位技术小谈

​ 诚邀阿里云先知社区邀请,不胜感激!今日小编在此为大家介绍一下互联网中所应用的定位技术。互联网的发展日新月异,技术迭代很快,各行各业的智慧在互联网这片蓝天下碰撞结晶,造福大众。今天要讲述的集中定位方式&…

Python的DataFrame切片大全(包含多重索引)

码字不易,喜欢请点赞!!! 摘要 这篇主要讲解如何对pandas的DataFrame进行切片,包括取某行、某列、某几行、某几列、以及多重索引的取数方法。 • 选取行名、列名、值 • 以标签(行、列的名字)…

什么是数据分析的关键指标?

什么是核心关键指标呢? 这是一个好问题,不过没有标准的答案。企业性质不同,所处行业、发展阶段不同,关注点当然不同。不过大体可以这样来划分。 1、发展阶段不同,需求不同 对于一个想要做数据化管理的企业来说&#xf…

加密函数

MD5:密码为web页面做准备,建议使用MD5 PASSWORD() :修改当前用户或其他用户密码 mysql> SELECT MD5(admin); #对admin进行MD5的加密(32位)----------------------------------| MD5(admin) |--------------------------------…

如何使用notepad运行python程序

关于使用notepad运行python程序 首先要确保python解释器已经安装成功,查看方法,windows可以在命令提示符中查看,通过按下winR键,调出运行窗口,在输入框中输入cmd回车,然后在命令行中输入python,若出现版本信息,例如Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC…

插入排序:表折半插入

在前一篇插入排序:表插入中。我们用静态链表的存储方式。直接插入的策略,构建了一种新的插入排序算法:表插入。有人可能会想到:相同是静态链表的形式,为什么不使用更高效的折半插入策略呢?这样的想法真的非…