这个问题看起来很简单,但在python中进行转换很困难。
问题是我有一个json,但我需要在不使用for循环的情况下将其转换为csv。该文件是嵌套的,并且是一个很长的列表,因此必须保持组织。下面是一个所需输出为csv的示例
"output 2.incedent","output 2.prediction_image","output 2.filename","output 2.time","output 2.orignal_filename","output 1.incedent","output 1.prediction_image","output 1.filename","output 1.time","output 1.orignal_filename"
"","null","/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4","0:00:00.00"," https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8",,,,,
,,,,,"audio","a woman holding a cell phone in front of a picture of a cat","/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4","0:00:06.00"," https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
,,,,,"audio","a cat sitting on top of a computer screen","/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4","0:00:08.00"," https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
,,,,,"audio","a woman is looking at a screen on a laptop","/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4","0:00:04.00"," https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
,,,,,"audio","a woman holding a cell phone in front of her face","/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4","0:00:00.00"," https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
,,,,,"audio","a cat sitting on top of a computer screen","/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4","0:00:02.00"," https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
,,,,,"audio","a picture of a woman on a computer screen","/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4","0:00:07.00"," https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
,,,,,"audio","a picture of a cat on a computer screen","/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4","0:00:05.00"," https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
,,,,,"audio","a cat sitting on top of a computer screen","/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4","0:00:01.00"," https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
,,,,,"audio","a woman is looking at a screen on a laptop","/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4","0:00:03.00"," https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
"OAAS O A NONI ONIIEIN NO ONWIAE MOION ROM I OER OLE ST","null","/downloads/2ad14364e0594a47a39633fa90053b77.mp4","0:00:00.00"," https://www.xyztv.com/share/2ad14364e0594a47a39633fa90053b77",,,,,
,,,,,"audio","a computer screen with a cartoon character on it","/downloads/2ad14364e0594a47a39633fa90053b77.mp4","0:00:18.00"," https://www.xyztv.com/share/2ad14364e0594a47a39633fa90053b77"
上面所需的输出应该由类似于下面的内容创建
[
{
"output 2": [
{
"dialog": "",
"incedent": "null",
"filename": "/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4",
"time": "0:00:00.00",
"orignal_filename": " https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
}
],
"output 1": [
{
"dialog": "audio",
"incedent": "a woman holding a cell phone in front of a picture of a cat",
"filename": "/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4",
"time": "0:00:06.00",
"orignal_filename": " https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
},
{
"dialog": "audio",
"incedent": "a cat sitting on top of a computer screen",
"filename": "/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4",
"time": "0:00:08.00",
"orignal_filename": " https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
},
{
"dialog": "audio",
"incedent": "a woman is looking at a screen on a laptop",
"filename": "/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4",
"time": "0:00:04.00",
"orignal_filename": " https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
},
{
"dialog": "audio",
"incedent": "a woman holding a cell phone in front of her face",
"filename": "/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4",
"time": "0:00:00.00",
"orignal_filename": " https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
},
{
"dialog": "audio",
"incedent": "a cat sitting on top of a computer screen",
"filename": "/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4",
"time": "0:00:02.00",
"orignal_filename": " https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
},
{
"dialog": "audio",
"incedent": "a picture of a woman on a computer screen",
"filename": "/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4",
"time": "0:00:07.00",
"orignal_filename": " https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
},
{
"dialog": "audio",
"incedent": "a picture of a cat on a computer screen",
"filename": "/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4",
"time": "0:00:05.00",
"orignal_filename": " https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
},
{
"dialog": "audio",
"incedent": "a cat sitting on top of a computer screen",
"filename": "/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4",
"time": "0:00:01.00",
"orignal_filename": " https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
},
{
"dialog": "audio",
"incedent": "a woman is looking at a screen on a laptop",
"filename": "/downloads/0d28e8927e9c4750b4a281e5814f8ac8.mp4",
"time": "0:00:03.00",
"orignal_filename": " https://www.xyztv.com/share/0d28e8927e9c4750b4a281e5814f8ac8"
}
]
},
{
"output 2": [
{
"dialog": "OAAS O A NONI ONIIEIN NO ONWIAE MOION ROM I OER OLE ST",
"incedent": "null",
"filename": "/downloads/2ad14364e0594a47a39633fa90053b77.mp4",
"time": "0:00:00.00",
"orignal_filename": " https://www.xyztv.com/share/2ad14364e0594a47a39633fa90053b77"
}
],
"output 1": [
{
"dialog": "audio",
"incedent": "a computer screen with a cartoon character on it",
"filename": "/downloads/2ad14364e0594a47a39633fa90053b77.mp4",
"time": "0:00:18.00",
"orignal_filename": " https://www.xyztv.com/share/2ad14364e0594a47a39633fa90053b77"
}
]
}
]
以下是我目前拥有的
import pandas as pd
import json
with open('data.json') as data_file:
data = json.load(data_file)
df = pd.json_normalize(data, 'output 2', ['output 1'],
record_prefix='output 2_')
print(df)
1条答案
按热度按时间ni65a41a1#
我将使用
concat
:输出(.csv):