Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按不同长度搜索数字_Python_Numbers_Line - Fatal编程技术网

Python 按不同长度搜索数字

Python 按不同长度搜索数字,python,numbers,line,Python,Numbers,Line,我有gps日志文件和一行文字 {"location": {"lat": 50.0918805, "lng": 14.4261817}, "accuracy": 29.1671027, "ts": 1598515548} 我的目标是打印纬度和经度的值,我能够做到: folder_path = 'D:\path' for filename in glob.glob(os.path.join(fold

我有gps日志文件和一行文字

{"location": {"lat": 50.0918805, "lng": 14.4261817}, "accuracy": 29.1671027, "ts": 1598515548}
我的目标是打印纬度和经度的值,我能够做到:

folder_path = 'D:\path'
for filename in glob.glob(os.path.join(folder_path, '*.geo.json')):
  with open(filename, 'r') as filecontent:
    readme = filecontent.read()
    lat = readme[21:28]
    long = readme[40:47]
    print(lat, long)
我觉得这对我来说太完美了,我得到了很好的数据,比如:

50.0918 14.4260
50.0920 4.42629
50.0918 14.4260
50.0917 14.4258
50.0920 14.4263
50.0917 14.4259
50.0918 14.4260
50.0919 4261233
但实际上缺少数字,问题是在日志中,为纬度/经度生成的数字并不总是相同的长度,我从第一个字符的位置打印数字。 我试着只打印数字,然后按“,”分开,但还有更多的数字我不想要

在这里,我被搞糊涂了,不知道如何在
“lat”:
“lng”:
之后打印所有数字,但在
“准确性”:


如果你能帮助我,我会很高兴的,干杯。

这是结构化文本,所以你最好使用这种结构,例如:

import json

content = """{"location": {"lat": 50.0918805, "lng": 14.4261817}, "accuracy": 29.1671027, "ts": 1598515548}"""
data = json.loads(content)
print(data["location"]["lat"], data["location"]["lng"])
这就产生了

50.0918805 14.4261817
您应该使用库解析
.json
文件:

导入json
导入glob
文件夹路径='D:\path'
对于glob.glob(os.path.join(文件夹路径,*.geo.json')中的文件名:
coords=json.load(打开(文件名为'r'))
印刷品(
坐标['location']['lat'],
coords['location']['lng'],
坐标[‘准确度’]
)
# 50.0918805 14.4261817 29.1671027

使用json库,然后您可以将文件视为字典