尝试在添加根节点的同时,尽可能简单地将CSV文件转换为JSON文件。出于某种原因,JSON文件至少省略了CSV文件末尾的最后一行(在某些情况下多达4行)。这是怎么回事?
示例CSV
name, id, tag
John, 12345, father
Mary, 33456, sister
Beth, 56789, daughter
期望JSON
{"node": "", "children": [
{"name": "John", "id": 12345, "tag": "father"},
{"name": "Mary", "id": 33456, "tag": "sister"},
{"name": "Beth", "id": 56789, "tag": "daughter"}
]}
我得到的是:
{"node": "", "children": [
{"name": "John", "id": 12345, "tag": "father"},
{"name": "Mary", "id": 33456, "tag": "sister"},
]}
我的代码:
csvfile = open('file.csv', 'r')
jsonfile = open('file.json', 'w')
reader = csv.DictReader(csvfile)
jsonfile.write('{"node": "", "children": [')
for row in reader:
json.dump(row, jsonfile)
#jsonfile.write(',\n')
jsonfile.write('] }')
另外,我知道我在JSON文件的最后一行添加了一个逗号——我也想知道除了最后一行之外如何添加逗号,但这并不重要。
您不需要手动构造JSON字符串。创建一个Python数据结构,然后通过json.dump()
将其转储到json文件中:
import json
reader = csv.DictReader(csvfile)
data = {"node": "", "children": list(reader)}
with open('file.json', 'w') as jsonfile:
json.dump(data, jsonfile)
问题内容: 有谁知道是否有可以让我将XLS最好转换为JSON的应用程序? 我还将为CSV转换程序做准备,因为如果周围什么都没有的话,我可能最终不得不写自己。 问题答案: 这对我来说效果很好,不需要上传文件: https://github.com/cparker15/csv-to- json?files=1
问题内容: 我尝试使用json格式的文件作为输入。这是示例数据的片段。 可以在r中使用这种复杂的json格式制作一个csv,以便更平滑地处理数据吗? 例如,有以下基本类别:基本信息照片创建者位置类别网址 可以制作带有basic_information.id,creator.id等子类别类别的csv文件吗? 问题答案: 在研究您的答案时,我在评论中张贴了一些链接,但现在我非常确信这是解决问题的方法。
问题内容: 我有一个要转换为CSV文件的JSON文件。如何使用Python执行此操作? 我试过了: 但是,它没有用。我正在使用Django,收到的错误是: 然后,我尝试了以下方法: 然后我得到错误: 样本json文件: 问题答案: 首先,你的JSON具有嵌套对象,因此通常无法直接将其转换为CSV。你需要将其更改为以下内容: 这是从中生成CSV的代码: 你将获得以下输出:
问题内容: 但是,我仍然无法将csv文件转换为JSON的层次结构。我在stackoverflow上找到的脚本是特定于某个问题的。假设必须对三个变量进行分组: 这将导致这样的JSON文件(据我尝试): 这些必须分组为嵌套结构,例如: 我尝试了该站点上的每个脚本,但是无法创建可以使flare.json这样的通用函数。我可以发布代码,但这就像上面提供的链接一样。因此,我要求一个简单的代码(或可以帮助我的
问题内容: 我正在尝试使用PHP将CSV文件转换为JSON。 这是我的代码 //我看到了所有数据 然后我尝试显示它,但是屏幕上什么都没有显示。我所看到的只是空白屏幕和0错误消息。 我做错什么了吗?有人能帮我吗 ? 的相加结果 问题答案: 尝试这样:
问题内容: 下面是我从在线气象站提取的json结构。我还包括一个json_to_csv python脚本,该脚本应该将json数据转换为csv输出,但仅返回“ Key”错误。我只想从“ current_observation”中提取数据。 检索温度字符串并将其转换为.csv格式的最佳方法是什么?谢谢! 问题答案: 也许熊猫可以为您提供帮助。.read_json()函数创建一个不错的数据框,您可以从