13.json文件的操作

# coding: utf-8



import json



# json.load(json文件操作句柄)
# json.loads(json字符串)
# json.dump(写入文件句柄)
# json.dumps(python对象)


# ## 读取json文件


file_name = 'json.txt'
try:
    with open(file_name,'r') as json_file_handler:
        # json_file_handler就是一个json文件的操作句柄
        obj = json.load(json_file_handler)
        print type(obj)
        print obj
except Exception,e:
    print e
    

with open(file_name,'r') as f:
    content = f.read()
    obj = json.loads(content)
    print obj


# ## 写入json文件

file_name = 'user.json'

a1 = dict()
a1['姓名'] = '张三'
a1['年龄'] = 20
a1['爱好'] = ['篮球','足球','羽毛球']

a2 = dict()
a2['姓名'] = '李四'
a2['年龄'] = 30
a2['爱好'] = ['乒乓球','羽毛球']

info  = dict()
info['用户信息'] = [a1,a2]
info['用户个数'] = 2

#数据中包含中文,需设置ensure_ascii
json_srt = json.dumps(info,ensure_ascii=False)

with open(file_name,'w') as f:
    f.write(json_srt)


file_name = 'user2.json'

a1 = dict()
a1['姓名'] = '张三'
a1['年龄'] = 20
a1['爱好'] = ['篮球','足球','羽毛球']

a2 = dict()
a2['姓名'] = '李四'
a2['年龄'] = 30
a2['爱好'] = ['乒乓球','羽毛球']

info  = dict()
info['用户信息'] = [a1,a2]
info['用户个数'] = 2

with open(file_name,'w') as f:
    # 参数:1>写入的数据 2>文件的操作句柄  3>禁用ascii编码
    json.dump(info,f,ensure_ascii=False)
   


# ## json转csv



import pandas as pd



with open('1.json','r') as json_file_handler:
    json_data = json.load(json_file_handler)
    k_list = json_data.keys()
    v_list = json_data.values()
    print k_list
    print v_list
    # 根据list构造Pandas中的Series对象
    k_ser = pd.Series(k_list,name='year')
    v_ser = pd.Series(v_list,name='mean_tem')
    print k_ser
    print v_ser
    res = pd.concat([k_ser,v_ser],axis=1)
    print res
    
    # 保存csv文件
#index=None不添加列索引
 res.to_csv('json_to_csv.csv',encoding='utf-8',index=None)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值