我想问一下使用Python是否有一种简单的方法来修改JSON?
我找到了一些相关话题 - How to update json file with python但是无法找出解决我当前问题的方法。
目前,JSON看起来像这样:
{
"X": [
{
"sample_topic_x":"sample_content_x_1",
...
}
{
"sample_topic_x":"sample_content_x_2",
...
}
......
]
"Y": [
{
"sample_topic_y":"sample_content_y_1",
...
}
{
"sample_topic_y":"sample_content_y_2",
...
}
......
]
}
必填:要被BQ接受/需要删除“Y”,请仅保留此格式的“X”。
{"sample_topic_x":"sample_content_x_1",.....}
{"sample_topic_x":"sample_content_x_2",.....}
{"sample_topic_x":"sample_content_x_3",.....}
任何相关文档,主题?
P.S>更新1.0
import json
json_path = 'C:\XXX\exportReport.json'
def updateJsonFile():
jsonFile = open(json_path, "r") # Open the JSON file for reading
data = json.load(jsonFile) # Read the JSON into the buffer
jsonFile.close() # Close the JSON file
updateJsonFile()
答案 0 :(得分:0)
<强>解决方案:强>
import json
json_path = 'C:\XXX\exportReport.json'
output_path = 'C:\XXX\your_output_file.txt'
with open(json_path) as f:
data = json.loads(f.read())
# Opening output file in append mode
# Note: Output file is not JSON, as the required format is not valid json
with open(output_file, "a+") as op:
for element in data.get('X'):
op.write(json.dumps(element) + "\n")
<强>解释强>
使用json.loads
加载输入的json文件。输出文件将是纯文本文件而不是JSON文件,因为所需的输出格式不是有效的JSON。使用.txt
文件存储输出。将商品值json.loads()
存储在数据中。要获取内部元素 X 这是一个字典列表,请使用data.get('X')
,它将返回列表。迭代它并将json.dumps()
写入输出文件,换行符中的每个元素。
<强> C:\ XXX \ exportReport.json 强>
{
"X": [
{
"sample_topic_x":"sample_content_x_1",
...
}
{
"sample_topic_x":"sample_content_x_2",
...
}
......
]
"Y": [
{
"sample_topic_y":"sample_content_y_1",
...
}
{
"sample_topic_y":"sample_content_y_2",
...
}
......
]
}
<强> C:\ XXX \ your_output_file.txt 强>
{"sample_topic_x":"sample_content_x_1",.....}
{"sample_topic_x":"sample_content_x_2",.....}
{"sample_topic_x":"sample_content_x_3",.....}
答案 1 :(得分:-1)
您首先需要提取父数据。并确定这是一个变量。并搜索&#34; X&#34;此变量中的数据。