Python 如何从这个JSON数组中提取一个值?
这是我从MPI ELAN获得的数据,是关于该程序中使用的电影文件:Python 如何从这个JSON数组中提取一个值?,python,json,data-extraction,Python,Json,Data Extraction,这是我从MPI ELAN获得的数据,是关于该程序中使用的电影文件: '[{"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1.avi", "MIME_TYPE": "video/*", "TIME_ORIGIN": "176040"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1-LEWA.mp4", "MIME
'[{"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1.avi", "MIME_TYPE": "video/*", "TIME_ORIGIN": "176040"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1-LEWA.mp4", "MIME_TYPE": "video/mp4", "TIME_ORIGIN": "100408"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1-PRAWA.mp4", "MIME_TYPE": "video/mp4", "TIME_ORIGIN": "82199"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1.mp3", "MIME_TYPE": "audio/*"}]'
我想从这个键中提取值:“TIME_ORIGIN”:“82199”,我想这是JSON数组,但我做不到。def podajczasyfilmów(plikeaf)
def podajczasyfilmów(plikeaf)
annofile = pympi.Elan.Eaf(plikeaf)
dane = annofile.get_linked_files()
dane = json.dumps(dane)
jsonArray = chilkat.CkJsonArray()
jsonArray.Load(dane)
i = 0
ltime = []
lfile = []
while i < jsonArray.get_Size() :
jsonObj = jsonArray.ObjectAt(i)
lplik = jsonObj.stringOf("MEDIA_URL")
lczas = jsonObj.stringOf("TIME_ORIGIN")
ltime.append(lczas)
lfile.append(lplik)
i = i + 1
dfall = pd.DataFrame(ltime,lfile)
annofile=pympi.Elan.Eaf(plikeaf)
dane=annofile.get_linked_files()
dane=json.dumps(dane)
jsonArray=chilkat.CkJsonArray()
jsonArray.Load(丹麦)
i=0
时间=[]
lfile=[]
而我
def podajczasyfilmów(plikeaf)
annofile=pympi.Elan.Eaf(plikeaf)
dane=annofile.get_linked_files()
dane=json.dumps(dane)
jsonArray=chilkat.CkJsonArray()
jsonArray.Load(丹麦)
i=0
时间=[]
lfile=[]
而我
您需要使用json.load(从字符串加载json):
以下是一个工作示例:
import json
my_json_string = '[{"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1.avi", "MIME_TYPE": "video/*", "TIME_ORIGIN": "176040"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1-LEWA.mp4", "MIME_TYPE": "video/mp4", "TIME_ORIGIN": "100408"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1-PRAWA.mp4", "MIME_TYPE": "video/mp4", "TIME_ORIGIN": "82199"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1.mp3", "MIME_TYPE": "audio/*"}]'
my_json = json.loads(my_json_string)
print(my_json[0]['TIME_ORIGIN'])
您需要使用json.loads(从字符串加载json):
以下是一个工作示例:
import json
my_json_string = '[{"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1.avi", "MIME_TYPE": "video/*", "TIME_ORIGIN": "176040"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1-LEWA.mp4", "MIME_TYPE": "video/mp4", "TIME_ORIGIN": "100408"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1-PRAWA.mp4", "MIME_TYPE": "video/mp4", "TIME_ORIGIN": "82199"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1.mp3", "MIME_TYPE": "audio/*"}]'
my_json = json.loads(my_json_string)
print(my_json[0]['TIME_ORIGIN'])
列表中有多个词典。您正在尝试提取所有的
TIME\u ORIGIN
值吗?尝试使用json
库(import json
)将字符串解析为dict
的列表,然后您就可以使用它了。我已经尝试了json\u array=json.load(dane)其中dane代表json字符串,我在加载返回加载(fp.read()中的文件“/usr/local/cillar/python/3.7.5/Frameworks/python.framework/Versions/3.7/lib/python3.7/json/__init__;.py”第293行中的python:Traceback(最近一次调用最后一次):File“”)中得到一个错误,AttributeError:“list”对象没有属性“read”,请尝试json.loads()
,而不是json.loads()
回溯(最近一次调用):文件“/usr/local/cillar/python/3.7.5/Frameworks/python.framework/Versions/3.7/lib/python3.7/json/u init\uuuuuuuuuuuuuuuuuy”中的第341行(f'JSON对象必须是str、bytes或bytearray,'TypeError:JSON对象必须是str、bytes或bytearray,而不是list列表中有多个字典。您是否正在尝试提取所有的TIME\u来源
值?请尝试JSON
库(import JSON
)为了将字符串解析为dict
的列表,您可以使用它。我尝试了json_array=json.load(dane),其中dane代表json字符串,我在python PyCharm中遇到一个错误:Traceback(最近一次调用last):File“”,第1行,在File中“/usr/local/cillar/python/3.7.5/Frameworks/python.framework/Versions/3.7/lib/python3.7/json/uuuu init_uuuuuuuuuu.py”,第293行,在加载返回加载(fp.read(),AttributeError:'list'对象没有属性‘read’Tryjson.loads()
,而不是json.load()
回溯(最近的最后一次调用):文件中的第1行”/usr/local/ceral/python/3.7.5/Frameworks/python.framework/Versions/3.7/lib/python3.7/json/_init_____;.py”,第341行,在loads raise TypeError中(f'json对象必须是str、bytes或bytearray,'TypeError:json对象必须是str、bytes或bytearray,而不是list