我在使用Python將JSON文件轉換爲CSV時遇到了問題,我不確定發生了什麼問題。轉換完成但不正確。由於JSON文件的格式化,我認爲存在問題;然而,這是一個有效的JSON。將JSON轉換爲帶有熊貓庫的CSV
這是我的JSON文件的內容:
{
"tags": [{
"name": "ACDTestData",
"results": [{
"groups": [{
"name": "type",
"type": "number"
}],
"values": [
[
1409154300000,
1.16003418,
3
],
[
1409154240000,
0.024047852,
3
],
[
1409153280000,
10.25598145,
3
],
[
1409152200000,
10.73193359,
3
],
[
1409151240000,
0.024047852,
3
],
[
1409080200000,
14.34393311,
3
],
[
1409039580000,
4.883850098,
3
],
[
1408977480000,
5.520019531,
3
],
[
1408977360000,
0.00793457,
3
],
[
1408974300000,
2.695922852,
3
],
[
1408968480000,
0.011962891,
3
],
[
1408965720000,
0.427978516,
3
],
[
1408965660000,
0.011962891,
3
]
]
}]
}]
}
這裏是我的嘗試:
import pandas as pd
json_file = pd.read_json("QueryExportTest2.json")
json_file.to_csv()
這裏是我的輸出:
,tags\n0,"{u\'name\': u\'ACDTestData\', u\'results\': [{u\'values\': [[1409154300000L, 1.16003418, 3], [1409154240000L, 0.024047852, 3], [1409153280000L, 10.25598145, 3], [1409152200000L, 10.73193359, 3], [1409151240000L, 0.024047852, 3], [1409080200000L, 14.34393311, 3], [1409039580000L, 4.883850098, 3], [1408977480000L, 5.520019531, 3], [1408977360000L, 0.00793457, 3], [1408974300000L, 2.695922852, 3], [1408968480000L, 0.011962891000000002, 3], [1408965720000L, 0.42797851600000003, 3], [1408965660000L, 0.011962891000000002, 3]], u\'groups\': [{u\'type\': u\'number\', u\'name\': u\'type\'}]}]}"\n
這是不對的,因爲當我將它放入一個新的Excel CSV文檔而不是僅打印它時,CSV全部在一個單元格中。
如果有幫助,當我嘗試這樣:
import json
with open('QueryExportTest2.json') as json_data:
d = json.load(json_data)
print(d)
我得到這個:
{u'tags': [{u'name': u'ACDTestData', u'results': [{u'values': [[1409154300000L, 1.16003418, 3], [1409154240000L, 0.024047852, 3], [1409153280000L, 10.25598145, 3], [1409152200000L, 10.73193359, 3], [1409151240000L, 0.024047852, 3], [1409080200000L, 14.34393311, 3], [1409039580000L, 4.883850098, 3], [1408977480000L, 5.520019531, 3], [1408977360000L, 0.00793457, 3], [1408974300000L, 2.695922852, 3], [1408968480000L, 0.011962891, 3], [1408965720000L, 0.427978516, 3], [1408965660000L, 0.011962891, 3]], u'groups': [{u'type': u'number', u'name': u'type'}]}]}]}
我怎麼能這樣嵌套的JSON正確轉換爲CSV?
感謝您的輸入。然而,當我嘗試這個時,我得到一個錯誤,說「KeyError:'values'。我假設這意味着這個鍵不在字典中 - 我將如何添加它?(我是使用Python的新手) – tseivad359
我在我的答案的第二部分有一個錯誤,現在它的更新,也許這是導致錯誤。 嗯..如果你得到你發佈的JSON的錯誤,你應該以錯誤的方式訪問該鍵如果是新的json,添加到字典中的方法是'my_dict ['values'] = np.array([[1,2,3],[4,5, 6]])例如,在這裏添加特定的值 –