128、数据写出及JSON格式转换

2018-01-21  本文已影响0人  陈容喜

将数据写出到文本格式

接着上一篇,把数据写出到文本格式,先查看之前读取的一个CSV文件,并用一个字典把各列指定值转为NA值: 1.png 使用DataFrame的to_csv方法,将文件写入到一个ex5-out的文件中: 2.png 从结果中可以看到已成功写入,但是带有行和列的标签,可以设置禁用行和列的标签: 3.png Series也有一个to_csv方法: 4.png
4-1.png 使用from_csv方法读取刚刚使用Series的to_csv的方法保存的文件: 5.png

JSON数据

JSON(JavaScript Object Notation的简称)已成为通过HTTP请求在Web浏览器和其他应用程序之间发送数据的标准格式之一。例如: 6.png JSON数据基本类型有对象(字典)、数组(列表)、字符串、数值、布尔值以及null。对象中所有的键都必须是是字符串,列表的末尾不允许存在多余的逗号。通过json.loads即可将JSON字符串转换成Python形式: 7.png Json.dumps将Python对象转换为JSON格式: 8.png 把JSON对象转换为DataFrame结构,方法是向DataFrame构造器传入一组JSON对象,并选取数据字段的子集: 9.png

源码:

# coding: utf-8

# ### 将数据写出到文本格式

# In[1]:


import numpy as np
from pandas import Series,DataFrame
import pandas as pd


# In[2]:


# 使用一个字典把各列指定值转为NA值
new_na = {'message':['foo'],'c':[11],'something':['two']}
new_na_values = pd.read_csv('D:\\Python\\notebook\\pydata-book-master\\ch06\\ex5.csv',na_values=new_na)
print(new_na_values)


# In[3]:


# 使用to_csv方法,将文件写入到另一个文件中
new_na_values.to_csv('D:\\Python\\notebook\\pydata-book-master\\ch06\\ex5-out.csv')

pd.read_csv('D:\\Python\\notebook\\pydata-book-master\\ch06\\ex5-out.csv')


# In[4]:


import sys
# 禁用行和列的标签
new_na_values.to_csv(sys.stdout,index=False,header=False)
print(new_na_values)


# In[5]:


# Series也有一个to_csv方法:
# 先创建一个Series文件
dates =pd.date_range('1/1/2018',periods=7)
ts = Series(np.arange(7),index=dates)
print(ts)


# In[6]:


# 写入文件
ts.to_csv('D:\\Python\\notebook\\pydata-book-master\\ch06\\test_series.csv')


# In[7]:


# 使用from_csv方法读取csv文件
Series.from_csv('D:\\Python\\notebook\\pydata-book-master\\ch06\\test_series.csv',parse_dates=True)


# ### JSON数据

# In[8]:


obj = """
{"name":"Wes",
 "places_lived":["United States","Spain","Germany"],
 "pet":null,
 "siblings":[{"name":"Scott","age":25,"pet":"Zuko"},
             {"name":"Katie","age":33,"pet":"Cisco"}]
 }
"""


# In[9]:


# 通过json.loads将JSON字符串转换为python格式
import json
result = json.loads(obj)
result


# In[10]:


# json.dumps将python对象转换为JSON格式
asjson = json.dumps(result)
print(asjson)


# In[11]:


# JSON对象转换为DataFrame结构
siblings = DataFrame(result['siblings'],columns=['name','age'])
print(siblings)
上一篇下一篇

猜你喜欢

热点阅读