Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中将JSON结构化数据写入文本文件?_Python_Json_Python 3.x_Python 2.7_Pandas - Fatal编程技术网

如何在Python中将JSON结构化数据写入文本文件?

如何在Python中将JSON结构化数据写入文本文件?,python,json,python-3.x,python-2.7,pandas,Python,Json,Python 3.x,Python 2.7,Pandas,我正在尝试将JSON结构化数据写入JSON文件。js dataframe包含如下JSON数据: [{"variable":"Latitude","min":26.845043,"Q1":31.1972475},{"variable":"Longitude","min":-122.315002,"Q1":-116.557795},{"variable":"Zip","min":20910.0,"Q1":32788.5}] 但当我将其写入文件时,数据的存储方式不同。你能帮我像在dataframej

我正在尝试将JSON结构化数据写入JSON文件。js dataframe包含如下JSON数据:

[{"variable":"Latitude","min":26.845043,"Q1":31.1972475},{"variable":"Longitude","min":-122.315002,"Q1":-116.557795},{"variable":"Zip","min":20910.0,"Q1":32788.5}]
但当我将其写入文件时,数据的存储方式不同。你能帮我像在dataframejs中一样存储结果吗

"[{\"variable\":\"Latitude\",\"min\":26.845043,\"Q1\":31.1972475},{\"variable\":\"Longitude\",\"min\":-122.315002,\"Q1\":-116.557795},{\"variable\":\"Zip\",\"min\":20910.0,\"Q1\":32788.5}]"
代码:


我认为您对数据进行了双重编码-df.to_json将数据转换为json字符串。然后运行json.dump,它会将已经编码的字符串再次编码为json,这会导致将现有的json用引号括起来,并用反斜杠转义所有的内部引号,最终在json中使用json,这是不必要的,也不可取的

您应该使用其中一种方法,但不能同时使用这两种方法。使用df.to_json准确地序列化数据帧数据,然后直接将字符串作为文本写入文件可能是最简单的方法

import pandas as pd
import json
df = pd.read_csv("temp.csv")
# it will dump json to file
df.to_json("filename.json", orient="records")
输出为filename.json:


Talk很便宜,为什么不让我给你看看代码呢

import csv
import json
import pandas as pd    
df = pd.read_csv(r'C:\Users\spanda031\Downloads\DQ_RESUlT.csv')
// where magic happends! :)
js = df.to_dict(orient="records")
print(js)

# Read JSON file
with open('C:\\Users\\spanda031\\Downloads\\data.json', 'w') as data_file:
    json.dump(js,data_file)

df=pd.read\u csv'C:\\Users\\spanda031\\Downloads\\data\u new.csv','w'df.to\u csvjs我用它将其写入csv,但结果仍然相同如何将其写入csv产生相同的结果?这与JSON编码无关。如果js是JSON,为什么要尝试将其编写为CSV?这毫无意义。把它写成纯文本就行了。现在似乎有人向你展示了正确的方法,所以希望不再有问题。谢谢。而且+1 for Talk非常便宜,为什么不让我给你看看代码呢?
[{"variable":"Latitude","min":26.84505,"Q1":31.19725},{"variable":"Longtitude","min":-122.315,"Q1":-116.558},{"variable":"Zip","min":20910.0,"Q1":32788.5}]
import csv
import json
import pandas as pd    
df = pd.read_csv(r'C:\Users\spanda031\Downloads\DQ_RESUlT.csv')
// where magic happends! :)
js = df.to_dict(orient="records")
print(js)

# Read JSON file
with open('C:\\Users\\spanda031\\Downloads\\data.json', 'w') as data_file:
    json.dump(js,data_file)