一: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            

  1. In [3]: df1 = pd.read_csv('D:\data\ex1.csv')    #打开后默认添加index为从0自增长,columns默认用第一行数据
  2.  
  3. In [4]: df1
  4. Out[4]:
  5. a b c d message
  6. 0 1 2 3 4 hello
  7. 1 5 6 7 8 world
  8. 2 9 10 11 12 foo
  9.  
  10. In [15]: df2 = pd.read_csv('D:\data\ex2.csv')
  11. In [16]: df2
  12. Out[16]:
  13. 1 2 3 4 hello
  14. 0 5 6 7 8 world
  15. 1 9 10 11 12 foo
  16.  
  17. In [17]: df2 = pd.read_csv('D:\data\ex2.csv',header=None) #header参数指定columns都为从0自增长的数
  18. In [18]: df2
  19. Out[18]:
  20. 0 1 2 3 4
  21. 0 1 2 3 4 hello
  22. 1 5 6 7 8 world
  23. 2 9 10 11 12 foo
  24.  
  25. In [8]: df2 = pd.read_csv('D:\data\ex2.csv',names=list('abcde'))    #用names参数指定columns的值
  26. In [9]: df2
  27. Out[9]:
  28. a b c d e
  29. 0 1 2 3 4 hello
  30. 1 5 6 7 8 world
  31. 2 9 10 11 12 foo
  32.  
  33. In [13]: df2 = pd.read_csv('D:\data\ex2.csv',names=list('abcde'),index_col='e') #用index_col用指定的columns首元素作为index
  34. In [14]: df2
  35. Out[14]:
  36. a b c d
  37. e
  38. hello 1 2 3 4
  39. world 5 6 7 8
  40. 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

  1. In [37]: df1 = pd.read_table('D:\data\ex3.txt',sep='\s+')
  2. In [38]: df1
  3. Out[38]:
  4. A B C #以最小列数为准,取dataframe数据,且第一行数据作为columns,剩下的如果第一列作为多出则作为index,否者从0自增数作为index
  5. aaa -0.20 -1.02 -0.62
  6. bbb 0.93 0.30 -0.03
  7. ccc -0.26 -0.39 -0.22
  8. ddd -0.87 -0.35 1.10
  9.  
  10. In [44]: df2 = pd.read_table('D:\data\ex4.txt',sep='\s+')
  11. In [45]: df2
  12. Out[45]:
  13. D A B C
  14. aaa -0.20 -1.02 -0.62
  15. bbb 0.93 0.30 -0.03
  16. ccc -0.26 -0.39 -0.22
  17. 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

  1. In [46]: df5 = pd.read_csv('D:\data\ex5.csv')
  2. In [47]: df5
  3. Out[47]:
  4. #hey!
  5. a b c d message
  6. #just wanted to make things NaN NaN NaN NaN
  7. #who are you NaN NaN NaN NaN
  8. 1 2 3 4 hello
  9. 5 6 7 8 world
  10. 9 10 11 12 foo
  11.  
  12. In [48]: df5 = pd.read_csv('D:\data\ex5.csv',skiprows=[0,2,3])
  13. In [49]: df5
  14. Out[49]:
  15. a b c d message
  16. 0 1 2 3 4 hello
  17. 1 5 6 7 8 world
  18. 2 9 10 11 12 foo
  19.  
  20. In [59]: df5 = pd.read_csv('D:\data\ex6.csv',nrows = 2)
  21. In [60]: df5
  22. Out[60]:
  23. something a b c d message
  24. 0 one 1 2 3 4 NaN
  25. 1 two 5 6 NaN 8 world
  26.  
  27. In [55]: df6 = pd.read_csv('D:\data\ex6.csv',na_values={'message':['foo','NA'],'something':['two']})
  28. In [56]: df6
  29. Out[56]:
  30. something a b c d message
  31. 0 one 1 2 3 4 NaN
  32. 1 NaN 5 6 NaN 8 world
  33. 2 three 9 10 11 12 NaN

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

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

二:JSON格式

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

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

  1. In [22]: js = """{
  2. ....: "name":"Wes",
  3. ....: "places_lived":["US","Spain","Germany"],
  4. ....: "pet":null,
  5. ....: "siblings":[{"name":"Scott","age":25,"pet":"Zuko"},
  6. ....: {"name":"Katie","age":33,"pet":"Cisco"}]}
  7. ....: """
  8.  
  9. In [26]: import json
  10. In [27]: data = json.loads(js)      #将json格式转化为python格式
  11. In [28]: data
  12. Out[28]:
  13. {u'name': u'Wes',
  14. u'pet': None,
  15. u'places_lived': [u'US', u'Spain', u'Germany'],
  16. u'siblings': [{u'age': 25, u'name': u'Scott', u'pet': u'Zuko'},
  17. {u'age': 33, u'name': u'Katie', u'pet': u'Cisco'}]}
  18.  
  19. In [29]: #a_js = json.dumps(data)    #将python格式转化为json格式
  20.  
  21. #最简单构造方法就是提取其中的数据,注意columns list中的值对应json数据中的需要提取的键并将其作为columns
  22. In [31]: siblings = pd.DataFrame(data['siblings'],columns=['name','age'])
  23. In [32]: siblings
  24. Out[32]:
  25. name age
  26. 0 Scott 25
  27. 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. js子窗口修改父窗口内容

    在框架中,我用 JavaScript 获取 JSON 数据,组织成 HTML 代码,最后将其填充至上层文档的一个元素中.按照一般的写法,我们需要用到类似如下的语句: 1.window.parent.d ...

  2. jquery实现定时调度(倒计时)

    工作需要实现了倒计时的脚本,代码如下: /** * 倒计时 * @param infoId :信息显示的id 最好是用span包裹 * @param callback:倒计时结算后的回调 */ fun ...

  3. PHP MYSQL读取中文乱码的解决办法

    其他试了很多种办法,结果最直接最简单的办法就是在SELECT前先发送设置.如下 mysqli_query($con,"SET NAMES 'UTF8'"); mysqli_quer ...

  4. 用javascript预加载图片、css、js的方法研究

    预加载的好处可以让网页更快的呈现给用户,缺点就是可能会增加无用的请求(但图片.css.js这些静态文件可以被缓存),如果用户访问的页面里面的css.js.图片被预加载了,用户打开页面的速度会快很多,提 ...

  5. php empty和isset的区别

    通过一个例子来解释一下, $id = 0  empty($id) 的值是true isset($id) 也是true. empty 和isset 处理对象无外乎 未定义常量 .0 .空字符串 如果变量 ...

  6. Poweroff – 很好很强大的定制关机工具

    Poweroff – 很好很强大的定制关机工具 Poweroff 是一个用来管理电脑关机系统的小工具,支持定时,支持远程 作者开放源代码,有兴趣的同学可以尝试着制作一下汉化版本.   可以设定不同时间 ...

  7. 真正的手机破解wifi密码,aircrack-ng,reaver,仅限mx2(BCM4330芯片)

    仅限mx2(BCM4330芯片),mx可能有戏没测试(BCM4329?),mx3不行. PS:原生安卓应用,非虚拟机 reaver,不知道是啥的看这里http://tieba.baidu.com/p/ ...

  8. Ubuntu 查看和杀死进程[转]

    今天在netbeans中关闭webrick时,发现没有关闭掉,打入localhost:3000 依然显示页面,发现无法从nb中再次关闭只有进入ubuntu的进程下关闭查看进程:1法,ps -e 命令 ...

  9. [JavaScript] JavaScript作用域深度解析

    JavaScript作用域 JavaScript中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里. -- JS权威指南 在JS里,一切皆对象,函数也是. 一.有什么用 什么时候会用到它? ...

  10. ECMA 6 记入

    好书推荐 : http://es6.ruanyifeng.com/ String.prototype -includes, startsWith, endsWith -padStart, padEnd ...