一:CSV数据

  一】:导入数据

    1)从CSV文件读入数据:pd.read_csv("文件名"),默认以逗号为分隔符

      D:\data\ex1.csv文件内容:                    D:\data\ex2.csv文件内容

        a,b,c,d,message            1,2,3,4,hello
        1,2,3,4,hello             5,6,7,8,world
        5,6,7,8,world              9,10,11,12,foo
        9,10,11,12,foo            

 In [3]: df1 = pd.read_csv('D:\data\ex1.csv')    #打开后默认添加index为从0自增长,columns默认用第一行数据

 In [4]: df1
Out[4]:
a b c d message
0 1 2 3 4 hello
1 5 6 7 8 world
2 9 10 11 12 foo In [15]: df2 = pd.read_csv('D:\data\ex2.csv')
In [16]: df2
Out[16]:
1 2 3 4 hello
0 5 6 7 8 world
1 9 10 11 12 foo In [17]: df2 = pd.read_csv('D:\data\ex2.csv',header=None) #header参数指定columns都为从0自增长的数
In [18]: df2
Out[18]:
0 1 2 3 4
0 1 2 3 4 hello
1 5 6 7 8 world
2 9 10 11 12 foo In [8]: df2 = pd.read_csv('D:\data\ex2.csv',names=list('abcde'))    #用names参数指定columns的值
In [9]: df2
Out[9]:
a b c d e
0 1 2 3 4 hello
1 5 6 7 8 world
2 9 10 11 12 foo In [13]: df2 = pd.read_csv('D:\data\ex2.csv',names=list('abcde'),index_col='e') #用index_col用指定的columns首元素作为index
In [14]: df2
Out[14]:
a b c d
e
hello 1 2 3 4
world 5 6 7 8
foo 9 10 11 12

    2)其他格式:pd.read_table('文件名', sep='划分依据'),划分依据可用正则表达式【\s:空格等不可见字符】

      注:read_table方法几乎可以读所有的表格型数据,包括txt,csv等等

      D:\data\ex3.txt                      D:\data\ex4.txt

        A B C                           D A B C
        aaa -0.2 -1.02 -0.62                    aaa -0.2 -1.02 -0.62
        bbb 0.93 0.3 -0.03                     bbb 0.93 0.3 -0.03
        ccc -0.26 -0.39 -0.22                     ccc -0.26 -0.39 -0.22
        ddd -0.87 -0.35 1.1                      ddd -0.87 -0.35 1.1

 In [37]: df1 = pd.read_table('D:\data\ex3.txt',sep='\s+')
In [38]: df1
Out[38]:
A B C #以最小列数为准,取dataframe数据,且第一行数据作为columns,剩下的如果第一列作为多出则作为index,否者从0自增数作为index
aaa -0.20 -1.02 -0.62
bbb 0.93 0.30 -0.03
ccc -0.26 -0.39 -0.22
ddd -0.87 -0.35 1.10 In [44]: df2 = pd.read_table('D:\data\ex4.txt',sep='\s+')
In [45]: df2
Out[45]:
D A B C
aaa -0.20 -1.02 -0.62
bbb 0.93 0.30 -0.03
ccc -0.26 -0.39 -0.22
ddd -0.87 -0.35 1.10

    3)扩展技巧

      read_csv/read_table函数参数

      

      

      D:\data\ex5.csv                D:\data\ex6.csv

      #hey!                       something,a,b,c,d,message            
      a,b,c,d,message                  one,1,2,3,4,NA
      #just wanted to make things            two,5,6,,8,world
      #who are you                   three,9,10,11,12,foo
      1,2,3,4,hello
      5,6,7,8,world
      9,10,11,12,foo

 In [46]: df5 = pd.read_csv('D:\data\ex5.csv')
In [47]: df5
Out[47]:
#hey!
a b c d message
#just wanted to make things NaN NaN NaN NaN
#who are you NaN NaN NaN NaN
1 2 3 4 hello
5 6 7 8 world
9 10 11 12 foo In [48]: df5 = pd.read_csv('D:\data\ex5.csv',skiprows=[0,2,3])
In [49]: df5
Out[49]:
a b c d message
0 1 2 3 4 hello
1 5 6 7 8 world
2 9 10 11 12 foo In [59]: df5 = pd.read_csv('D:\data\ex6.csv',nrows = 2)
In [60]: df5
Out[60]:
something a b c d message
0 one 1 2 3 4 NaN
1 two 5 6 NaN 8 world In [55]: df6 = pd.read_csv('D:\data\ex6.csv',na_values={'message':['foo','NA'],'something':['two']})
In [56]: df6
Out[56]:
something a b c d message
0 one 1 2 3 4 NaN
1 NaN 5 6 NaN 8 world
2 three 9 10 11 12 NaN

  二】 数据的写出:to_csv('文件名' , [index=..., header=...] )

 In [7]: df = pd.read_csv('D:\data\ex1.csv',header=None)

 In [8]: df
Out[8]:
0 1 2 3 4
0 a b c d message
1 1 2 3 4 hello
2 5 6 7 8 world
3 9 10 11 12 foo In[9]:df.to_csv('D:\data\out1.csv') In[10]:df.to_csv('D:\data\out2.csv',index=False,header=False)    #即是把index和columns都弃掉,header表示columns

二:JSON格式

  Json类型基本数据类型有对象(字典),数组(列表),字符串,数值,bool 以及 null。

  注:若是字典,键的类型必须是string

In [22]: js = """{
....: "name":"Wes",
....: "places_lived":["US","Spain","Germany"],
....: "pet":null,
....: "siblings":[{"name":"Scott","age":25,"pet":"Zuko"},
....: {"name":"Katie","age":33,"pet":"Cisco"}]}
....: """ In [26]: import json
In [27]: data = json.loads(js)      #将json格式转化为python格式
In [28]: data
Out[28]:
{u'name': u'Wes',
u'pet': None,
u'places_lived': [u'US', u'Spain', u'Germany'],
u'siblings': [{u'age': 25, u'name': u'Scott', u'pet': u'Zuko'},
{u'age': 33, u'name': u'Katie', u'pet': u'Cisco'}]} In [29]: #a_js = json.dumps(data)    #将python格式转化为json格式 #最简单构造方法就是提取其中的数据,注意columns list中的值对应json数据中的需要提取的键并将其作为columns
In [31]: siblings = pd.DataFrame(data['siblings'],columns=['name','age'])
In [32]: siblings
Out[32]:
name age
0 Scott 25
1 Katie 33

三:XML与HTML

pass

四:二进制 179

  pass

五:Excel 180

  pass

七:HTML 与 Web API 181

  许多网站提供基于json格式的数据API,通过request等库可以获取

  pass

六:数据库 182

  pass

七:MongDB

  184

3.2:pandas数据的导入与导出【CSV,JSON】的更多相关文章

  1. 基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理

    在很多系统模块里面,我们可能都需要进行一定的数据交换处理,也就是数据的导入或者导出操作,这样的批量处理能给系统用户更好的操作体验,也提高了用户录入数据的效率.我在较早时期的EasyUI的Web框架上, ...

  2. 基于MVC4+EasyUI的Web开发框架经验总结(10)--在Web界面上实现数据的导入和导出

    数据的导入导出,在很多系统里面都比较常见,这个导入导出的操作,在Winform里面比较容易实现,我曾经在之前的一篇文章<Winform开发框架之通用数据导入导出操作>介绍了在Winform ...

  3. Oracle 数据的导入和导出(SID service.msc)

    一:版本号说明: (1)(Oracle11  32位系统)Oracle - OraDb11g_home1: (2)成功安装后显演示样例如以下:第一个图是管理工具.创建连接.创建表:第二个是数据库创建工 ...

  4. Matlab文件和数据的导入与导出

    ref: https://blog.csdn.net/zengzeyu/article/details/72530596 Matlab文件和数据的导入与导出 2017年05月19日 15:18:35  ...

  5. (转)基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理

    http://www.cnblogs.com/wuhuacong/p/4777720.html 在很多系统模块里面,我们可能都需要进行一定的数据交换处理,也就是数据的导入或者导出操作,这样的批量处理能 ...

  6. 使用PHP导入和导出CSV文件

    我们先准备mysql数据表,假设项目中有一张记录学生信息的表student,并有id,name,sex,age分别记录学生的姓名.性别.年龄等信息. CREATE TABLE `student` ( ...

  7. 【转】使用PHP导入和导出CSV文件

    项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用PHP并结合mysql,实现了CSV格式数据的导入和导出功能.我们先准备mysql数据表 ...

  8. HBase数据的导入和导出

    查阅了几篇中英文资料,发现有的地方说的不是很全部,总结在此,共有两种命令行的方式来实现数据的导入导出功能,即备份和还原. 1 HBase本身提供的接口 其调用形式为: 1)导入 ./hbase org ...

  9. Hive中数据的导入与导出

    最近在做一个小任务,将一个CDH平台中Hive的部分数据同步到另一个平台中.毕竟我也刚开始工作,在正式开始做之前,首先进行了一段时间的练习,下面的内容就是练习时写的文档中的内容.如果哪里有错误或者疏漏 ...

随机推荐

  1. JavaScript 显示弹出窗口

    window . showModalDialog ( sURL,vArguments , sFeatures )参数说明: sURL--必选参数,用来指定对话框要显示的文档的URL. //要显示页面的 ...

  2. 画板社交工具开发分享——HTML5 canvas控件、PHP、社交分享学习(一)

    不谈国内社交网站(人人.微博等)目前的盈利状况如何,facebook.twitter都已经取得了很大的成功.这一定程度上都得益于人们对社交的喜爱和投入. 目前的情况来看,也有很多人已经对直接的文字分享 ...

  3. Spring4.0学习笔记(4) —— 使用外部属性文件

    1.配置xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...

  4. Js判断密码强度并显示提示信息

    用javascipt实现的Ajax判断密码强弱的功能,大多数有用户注册功能的网站,都会有这么一个功能,作为WEB程序员,应该会写这种小模块哦,不懂的就看下这个例子,觉得挺简单,当初帮助了不少人学会了密 ...

  5. php设计模式2策略模式

    <?php /** ****************************************************** * 策略模式:策略模式针对一组算法,将每一个算法封装到具有共同接 ...

  6. 游览器保存密码和自动填充密码的困惑 (browser save password and auto fill password )

    原文 refer : http://www.cnblogs.com/happyfreelife/p/4240100.html 当一个带有username and password 的表单被提交, 游览 ...

  7. Angularjs Scope 原型链

    我们知道scope是可以继承的.scope的继承和js原型链是同一个概念. <div ng-controller="parentCtrl"> {{name}} < ...

  8. 用PYTHON实现将电脑里的所有文件按大小排序,便于清理

    嘿嘿,慢慢找到写代码的感觉了. 这个小程序涉及的东东还是很多的,数据结构的设计,错误的处理,快速字典排序,文件数值调整.... import os,os.path import glob SUFFIX ...

  9. JAVA接口示例

    总感觉有点虚,但慢慢找到感觉了.将对象放进数组里,这就比较深入了. interface drawTest{ public void draw(); public void doAnyThing(); ...

  10. 51单片机C语言学习笔记4:keil C51绝对地址访问

    在利用keil进行8051单片机编程的时,常常需要进行绝对地址进行访问.特别是对硬件操作,如DA AD 采样 ,LCD 液晶操作,打印操作.等等.C51提供了三种访问绝对地址的方法: 1. 绝对宏:  ...