Python全面解析json数据并保存为csv文件

目录
  • 解析json数据并保存为csv文件
    • 完整代码
  • 将json任意行文件转为csv文件并保存
    • 将json格式的前3000条数据存入csv

解析json数据并保存为csv文件

首先导入两个包:

import json
import pandas as pd

打开json 文件并读取:

with open('2.json', encoding='utf-8') as f:
    line = f.readline()
    d = json.loads(line)
    f.close()

读取的json数据会以字典的形势保存,按照字典的读取方式获取自己想要的数据:

datas_x = []
datas_y = []
for dss in d:
    datas_x.append(float(dss["pos"]["x"]))
    datas_y.append(float(dss["pos"]["z"]))

将数据保存到列表中,然后创建pandas的DataFrame,DataFrame是由多种类型的列构成的二维标签数据结构。

path_x = pd.Series(datas_x)
path_y = pd.Series(datas_y)
path_df = pd.DataFrame()
path_df['pathx'] = path_x
path_df['pathy'] = path_y

最后将数据保存到csv中。

filepath = "E:\\python\\python\\2021\\202104\\0409\\path_data.csv"
path_df.to_csv(filepath, index=False, header=False)

完整代码

import json
import pandas as pd
filepath = "E:\\python\\python\\2021\\202104\\0409\\path_data.csv"
with open('2.json', encoding='utf-8') as f:
    line = f.readline()
    d = json.loads(line)
    f.close()
datas_x = []
datas_y = []
for dss in d:
    datas_x.append(float(dss["pos"]["x"]))
    datas_y.append(float(dss["pos"]["z"]))
path_x = pd.Series(datas_x)
path_y = pd.Series(datas_y)
path_df = pd.DataFrame()
path_df['pathx'] = path_x
path_df['pathy'] = path_y
path_df.to_csv(filepath, index=False, header=False)

将json任意行文件转为csv文件并保存

将json格式的前3000条数据存入csv

json格式类型:

{"address": "华山路31号", "addressExtend": "屯溪老街", "amenities": [1, 2, 3, 5, 10, 12], "brandName": null, "businessZoneList": null, "cityCode": 1004, "cityName": "黄山", "coverImageUrl": "https://img20.360buyimg.com/hotel/jfs/t16351/270/1836534312/106914/9b443bc4/5a68e68aN23bfaeda.jpg", "districtName": "屯溪区", "geoInfo": {"distance": 3669, "name": "市中心", "type": 1, "typeName": "市中心"}, "grade": 5, "hotelId": 328618, "location": {"lat": "29.717982", "lon": "118.299707"}, "name": "黄山国际大酒店", "payMode": [1, 2], "price": 362, "priceStatus": 1, "promotion": [103], "saleType": 1, "score": 4.8, "star": 5, "themes": [3, 2, 4], "totalComments": 133}
{"address": "金城镇 珠山82号", "addressExtend": "", "amenities": null, "brandName": null, "businessZoneList": [{"businessZoneId": 2384, "businessZoneName": "金门机场", "poiType": null}], "cityCode": 1174, "cityName": "泉州", "coverImageUrl": null, "districtName": null, "geoInfo": {"distance": 63229, "name": "市中心", "type": 1, "typeName": "市中心"}, "grade": 2, "hotelId": 763319, "location": {"lat": "24.396442", "lon": "118.314335"}, "name": "金门珠山82号民宿", "payMode": null, "price": null, "priceStatus": 1, "promotion": null, "saleType": 0, "score": null, "star": 0, "themes": [], "totalComments": null}

json转为csv

import csv
import json
import codecs
'''
将json文件格式转为csv文件格式并保存。
'''
class Json_Csv():
	#初始化方法,创建csv文件。
    def __init__(self):
        self.save_csv = open('D:/hotels_out.csv', 'w', encoding='utf-8', newline='')
        self.write_csv = csv.writer(self.save_csv, delimiter=',')  #以,为分隔符
    def trans(self,filename):
        with codecs.open(filename,'r',encoding='utf-8') as f:
            read=f.readlines()
            flag=True
            for index,info in enumerate(read):
                data=json.loads(info)
                if index <3000: #读取json文件的前3000行写入csv文件 。要是想写入全部,则去掉判断。
                    if flag: #截断第一行当做head
                        keys=list(data.keys())  #将得到的keys用列表的形式封装好,才能写入csv
                        self.write_csv.writerow(keys)
                        flag=False  #释放
                    value=list(data.values())   #写入values,也要是列表形式
                    self.write_csv.writerow(value)
            self.save_csv.close()  #写完就关闭
if __name__=='__main__':
    json_csv=Json_Csv()
    path='D:/hotels.txt'
    json_csv.trans(path)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 使用python把json文件转换为csv文件

    了解json整体格式 这里有一段json格式的文件,存着全球陆地和海洋的每年异常气温(这里只选了一部分):global_temperature.json { "description": { "title": "Global Land and Ocean Temperature Anomalies, January-December", "units": "Degrees Celsius", "b

  • 对python中xlsx,csv以及json文件的相互转化方法详解

    最近需要各种转格式,这里对相关代码作一个记录,方便日后查询. xlsx文件转csv文件 import xlrd import csv def xlsx_to_csv(): workbook = xlrd.open_workbook('1.xlsx') table = workbook.sheet_by_index(0) with codecs.open('1.csv', 'w', encoding='utf-8') as f: write = csv.writer(f) for row_num

  • 利用python将json数据转换为csv格式的方法

    假设.json文件中存储的数据为: {"type": "Point", "link": "http://www.dianping.com/newhotel/22416995", "coordinates": [116.37256372996957, 40.39798447055443], "category": "经济型", "name": &qu

  • Python全面解析json数据并保存为csv文件

    目录 解析json数据并保存为csv文件 完整代码 将json任意行文件转为csv文件并保存 将json格式的前3000条数据存入csv 解析json数据并保存为csv文件 首先导入两个包: import json import pandas as pd 打开json 文件并读取: with open('2.json', encoding='utf-8') as f:     line = f.readline()     d = json.loads(line)     f.close() 读

  • python flask解析json数据不完整的解决方法

    当使用Python的flask框架来开发网站后台,解析前端Post来的数据,通常都会使用request.form来获取前端传过来的数据,但是如果传过来的数据比较复杂,其中右array,而且array的元素不是单个的数字或者字符串的时候,就会出现解析不到数据的情况,比如使用下面的js代码向python flask传递数据 $.ajax({ "url":"/test", "method":"post", "data&qu

  • python 调用API接口 获取和解析 Json数据

    任务背景: 调用API接口数据,抽取我们所需类型的数据,并写入指定mysql数据库. 先从宏观上看这个任务,并对任务进行分解: step1:需要学习python下的通过url读取数据的方式: step2:数据解析,也是核心部分,数据格式从python角度去理解,是字典?列表?还是各种嵌套? step3:连接mysql数据库,将数据写入. 从功能上看,该数据获取程序可以分为3个方法,即step1对应方法request_data(),step2对应方法parse_data(),step3对应data

  • Python解析JSON数据的基本方法实例代码

    目录 一.JSON数据格式介绍 二.Python处理JSON数据 json.dumps json.loads 语法 总结 一.JSON数据格式介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON建构于两种结构:json是Javascript中的对象和数组中的对象,本质上来讲就是有特定结构的字符串,所以可以通过这两种结构可以表示各种复杂的结构: 1 对象: 对象在js中表示为”{}”括起来的内容,数据结构为{key:value, key:v

  • 在python 脚本下解析json数据

    在项目中遇到了个json数据需要解析,利用Python脚本尝试分享给大家 如下: import os import pandas as pd import numpy as np path=r'C:\users\....' #文件的上一层路径 key=['SS','AA',....] #字段名 files = os.listdir(path) all_data = [] for file in files:         filepath = os.path.join(path,file) d

  • Python使用JSON库解析JSON数据的方法

    目录 1 如何在网页中获取 JSON 数据? 2 Python 内置的 JSON 库 1 如何在网页中获取 JSON 数据? 打开一个具有动态渲染的网页,按 F12 打开浏览器开发工具,点击“网络”,再刷新一下网页,观察是否有新的数据包. 发现有 js 后缀的文件,这就是我们想要的 json 数据了. 2 Python 内置的 JSON 库 内置的 json 库的函数: dumps:用于将 Python 的数据类型转化为 json 字符串. loads:将 json 字符串转化为 Python

  • python中解析json格式文件的方法示例

    前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成. 本文主要介

  • python如何读写json数据

    本文实例为大家分享了python读写json数据的具体代码,供大家参考,具体内容如下 案例: 在web应用中常常用到json数据进行传输数据,本质上是字典类型数据转换成字符串,通过字符串进行网页传输,然后把接收到的字符串转换成字典类似数据 需求:实现字典转换成字符串,字符串转换成字典数据类型,写入文件 如何做? 1.明确dumps和dump的区别,dump的接口是文件,直接写入文件,dumps把对应的数据类型转换成字符串,loads 和dumps相反,load直接从文件中读取文件并把数据转换成对

  • 使用Python爬取Json数据的示例代码

    一年一度的双十一即将来临,临时接到了一个任务:统计某品牌数据银行中自己品牌分别在2017和2018的10月20日至10月31日之间不同时间段的AIPL("认知"(Aware)."兴趣"(Interest)."购买"(Purchase)."忠诚"(Loyalty))流转率. 使用Fiddler获取到目标地址为: https://databank.yushanfang.com/api/ecapi?path=/databank/cr

  • C/C++中CJSON的使用(创建与解析JSON数据)

    目录 一.cJSON介绍 二.JSON简介.语法介绍 2.1 JSON是什么? 2.2 JSON语法介绍 三.cJSON创建简单JSON数据并解析 3.1 新建工程 3.2 创建JSON数据 3.3 解析JSON数据 四.cJSON创建嵌套的对象数据 4.1 创建json数据 4.2 解析JSON数据 五.cJSON带数组的JSON数据 5.1 创建json数据 5.2 解析JSON数据 一.cJSON介绍 cJSON 是一个超轻巧,携带方便,单文件,可以作为 ANSI-C 标准的 JSON 解

随机推荐