一: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. JQuery 表单验证--jquery validation

    jquery validation,表单验证控件 官方地址 :http://jqueryvalidation.org/ jquery表单验证 默认值校验规则 jquery表单验证 默认的提示 < ...

  2. 武汉科技大学ACM :1008: A+B for Input-Output Practice (VIII)

    Problem Description Your task is to calculate the sum of some integers. Input Input contains an inte ...

  3. 自定义异常throw

    简单自定义一个年龄小于等于0,或者大于120会出现的异常 首先继承父类Exception,调用父类的构造器,这样才可以报出自己想要的异常 public class AgeException exten ...

  4. DEV XtraGrid绑定非绑定列(转)

      在Gridview创建一列 .将该列的UnboundType属性设置为bound(默认值)以外的数据类型 为该列设置一个窗体内全局唯一的FieldName,注意这个FieldName甚至不能出现在 ...

  5. android popupwindow低版本报空指针

    在项目中使用Popupwindow pop=new Popupwindow();在2.3版本报 异常信息: Exception: null 堆栈信息: android.widget.PopupWind ...

  6. shell脚本实例一,移动文件夹中大于2000B的文件到另一个文件夹

    shell脚本能帮我们简化linux下的一些工作,现在有个需求,把TMPA文件夹下大于2000B的文件都移动到TMPB下 #! /bin/bash function movefiles() { ` d ...

  7. uva 10032 Problem F: Tug of War

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  8. android 通过post方式提交数据的最简便有效的方法

    public boolean post(String username, String password) throws Exception { username = URLEncoder.encod ...

  9. YII增加全局函数

    法1: 在使用Yii开发中我们经常会遇到一个问题,每次使用Yii的组件.扩展等,我们会像下面一样去写: <?php Yii::app()->user; Yii::app()->get ...

  10. 【转】adobe acrobat pro修改pdf文字

    原文网址:http://zhidao.baidu.com/link?url=7MTeEu5IM49lNIISNQMcZLyLAwMPsRQWF5WAwQPfvkPsbbZLHSQE43MWaIxxVm ...