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