pandas数据的导入与导出【CSV,JSON】(10/25)
来源:互联网 发布:网络安全法出台时间 编辑:程序博客网 时间:2024/06/16 06:35
一: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')12 In [16]: df213 Out[16]:14 1 2 3 4 hello15 0 5 6 7 8 world16 1 9 10 11 12 foo17 18 In [17]: df2 = pd.read_csv('D:\data\ex2.csv',header=None) #header参数指定columns都为从0自增长的数20 In [18]: df221 Out[18]:22 0 1 2 3 423 0 1 2 3 4 hello24 1 5 6 7 8 world25 2 9 10 11 12 foo26 27 In [8]: df2 = pd.read_csv('D:\data\ex2.csv',names=list('abcde')) #用names参数指定columns的值29 In [9]: df230 Out[9]:31 a b c d e32 0 1 2 3 4 hello33 1 5 6 7 8 world34 2 9 10 11 12 foo35 36 In [13]: df2 = pd.read_csv('D:\data\ex2.csv',names=list('abcde'),index_col='e') #用index_col用指定的columns首元素作为index38 In [14]: df239 Out[14]:40 a b c d41 e42 hello 1 2 3 443 world 5 6 7 844 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+') 3 In [38]: df1 4 Out[38]: 5 A B C #以最小列数为准,取dataframe数据,且第一行数据作为columns,剩下的如果第一列作为多出则作为index,否者从0自增数作为index 6 aaa -0.20 -1.02 -0.62 7 bbb 0.93 0.30 -0.03 8 ccc -0.26 -0.39 -0.22 9 ddd -0.87 -0.35 1.1010 11 In [44]: df2 = pd.read_table('D:\data\ex4.txt',sep='\s+')13 In [45]: df214 Out[45]:15 D A B C16 0 aaa -0.20 -1.02 -0.6217 1 bbb 0.93 0.30 -0.0318 2 ccc -0.26 -0.39 -0.2219 3 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') 3 In [47]: df5 4 Out[47]: 5 #hey! 6 a b c d message 7 #just wanted to make things NaN NaN NaN NaN 8 #who are you NaN NaN NaN NaN 9 1 2 3 4 hello10 5 6 7 8 world11 9 10 11 12 foo12 13 In [48]: df5 = pd.read_csv('D:\data\ex5.csv',skiprows=[0,2,3])15 In [49]: df516 Out[49]:17 a b c d message18 0 1 2 3 4 hello19 1 5 6 7 8 world20 2 9 10 11 12 foo21 22 23 In [59]: df5 = pd.read_csv('D:\data\ex6.csv',nrows = 2)25 In [60]: df526 Out[60]:27 something a b c d message28 0 one 1 2 3 4 NaN29 1 two 5 6 NaN 8 world30 31 In [55]: df6 = pd.read_csv('D:\data\ex6.csv',na_values={'message':['foo','NA'],'something':['two']})33 In [56]: df634 Out[56]:35 something a b c d message36 0 one 1 2 3 4 NaN37 1 NaN 5 6 NaN 8 world38 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 foo10 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
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 jsonIn [27]: data = json.loads(js) #将json格式转化为python格式In [28]: dataOut[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数据中的需要提取的键并将其作为columnsIn [31]: siblings = pd.DataFrame(data['siblings'],columns=['name','age'])In [32]: siblingsOut[32]: name age0 Scott 251 Katie 33
- pandas数据的导入与导出【CSV,JSON】(10/25)
- GlacialList数据导入导出(txt与CSV)
- mongodb 数据备份与还原操作--备份 还原 导出 导入:CSV,JSON,BOSN,解决中文乱码
- php导入导出CSV格式的数据
- pandas的导入导出
- Qt中csv文件的导入与导出(zz)
- MySQL CSV 数据导入导出
- pandas的简单应用与数据导入
- windows 下 mongodb 导入导出collection(json、csv)
- pandas的基本用法(五)——导入导出数据
- 数据的导出与导入(数据库)
- csv数据的导出
- mongoVUE 数据的json格式导入导出
- 数据的导出与导入!
- 数据的导入与导出
- 数据的导出与导入
- python入门学习四(csv数据导出导入)
- Qt中csv文件的导入与导出
- opencv学习——cv2.findHomography()
- 不等数列
- PE文件格式:如何恢复导入表
- java生成UUID
- IntelliJ IDEA 插件 阿里巴巴Java开发手册(Alibaba Java Coding Guidelines)
- pandas数据的导入与导出【CSV,JSON】(10/25)
- 数据存储(无数据库版)之二:存储为CSV
- 英语学习杂记
- citrix常见问题的问题收集与总结
- Unity关于MeshCollider碰撞体无法触发碰撞事件
- Qt5.7.1支持gstreamer1.0
- 2017北京国际消费电子博览会会刊(参展商名录)
- 开篇
- STP生成树协议