對於模糊標題感到抱歉,我需要一些關於Python魔法的幫助,並且想不到任何更具描述性的內容。Python腳本將複雜的扁平化數據轉換爲JSON
我有一個固定的JSON數據結構,我需要將CSV文件轉換爲。該結構是固定的,但與列表等深層嵌套。它與此類似,但更復雜:
{
"foo" : bar,
"baz" : qux,
"nub" : [
{
"bub": "gob",
"nab": [
{
"nip": "jus",
"the": "tip",
},
...
],
},
...
],
"cok": "hed"
}
希望你明白了。列表上的列表上的列表等等。我爲CSV可能是這樣的:
foo, baz, nub.bub, nub.nab.nip, nub.nab.the, cok
bar, qux, "gob" ,,,, "hed"
,,,,, "nab", "jus","tip",,
,,,,, "nab", "other", "values",,
很抱歉,如果這是很難讀,但其基本思想是,如果有這將是其下一行的上市項目,並重復的值來表示什麼子 - 列表屬於什麼。
我不想找任何人想出解決這個混亂的問題,只是可能有一些關於技術或事情的指針。
現在我有一個粗略的計劃:
我轉動頭部到包含密鑰元組的列表開始。對於每組行(項目),我將創建我的模板字典副本。我有一個函數,它將從一個鍵元組中設置一個字典值,除非它找到一個列表。在這種情況下,我將調用一個時髦的遞歸函數並將其傳遞給我的迭代器,並繼續填充該函數中的dict,並在發現新列表時進行遞歸調用。
我也可以做很多硬編碼,但是有什麼好玩的呢?
這就是我的故事。再次,只是尋找一些關於如何做到這一點的最佳方法的指針。我寫得很快,所以它可能有點混亂,請讓我知道,如果有更多的信息會有所幫助。謝謝!
有問題的格式基本上是不同的,試圖解析一個到另一個將證明兩個問題,並容易出錯。 _爲什麼你需要這樣的csv文件? –
有人爲我製作測試數據集,這是他們使用的格式。這並不理想,但我不想讓他們改變它(他們正在用手做這件事......)。我可以解析它,這隻會是一個痛苦的屁股。 – user3779812