【问题标题】:How can I extract the longitude and latitude from a text file?如何从文本文件中提取经度和纬度?
【发布时间】:2022-12-11 06:33:22
【问题描述】:

我有一个名为 iplocation.txt 的文本文件

   {"ip":"222.255.27.184","country_code":"VN","country_name":"Vietnam","region_code":"HN","region_name":"Hanoi","city":"Hanoi","zip_code":"","time_zone":"Asia/Bangkok","latitude":21.0313,"longitude":105.8516,"metro_code":0}
   {"ip":"222.255.27.187","country_code":"VN","country_name":"Vietnam","region_code":"HN","region_name":"Hanoi","city":"Hanoi","zip_code":"","time_zone":"Asia/Bangkok","latitude":21.0313,"longitude":105.8516,"metro_code":0}
   {"ip":"222.255.27.45","country_code":"VN","country_name":"Vietnam","region_code":"HN","region_name":"Hanoi","city":"Hanoi","zip_code":"","time_zone":"Asia/Bangkok","latitude":21.0313,"longitude":105.8516,"metro_code":0}

我只想要坐标。我需要一些帮助来获取如下所示的数据:

latitude 21.0313 longitude 105.8516
latitude 21.0313 longitude 105.8516
latitude 21.0313 longitude 105.8516

我知道 grep 和 awk。但是,我是初学者。到目前为止,我已经花了一些时间进行搜索和试验,但运气不佳。我还没有找到路。帮助!

【问题讨论】:

  • 这些行是 JSON 你可能想看看jq,它是为这类问题设计的。

标签: parsing filter grep


【解决方案1】:

在 python 中运行它。

结果:Screenshot

import pandas as pd

files = [
    {"ip":"222.255.27.184","country_code":"VN","country_name":"Vietnam","region_code":"HN","region_name":"Hanoi","city":"Hanoi","zip_code":"","time_zone":"Asia/Bangkok","latitude":21.0313,"longitude":105.8516,"metro_code":0},
    {"ip":"222.255.27.187","country_code":"VN","country_name":"Vietnam","region_code":"HN","region_name":"Hanoi","city":"Hanoi","zip_code":"","time_zone":"Asia/Bangkok","latitude":21.0313,"longitude":105.8516,"metro_code":0},
    {"ip":"222.255.27.45","country_code":"VN","country_name":"Vietnam","region_code":"HN","region_name":"Hanoi","city":"Hanoi","zip_code":"","time_zone":"Asia/Bangkok","latitude":21.0313,"longitude":105.8516,"metro_code":0}
]

object = {
    "latitude": 123, # Here I am creating an object, these are example values in the key,value pair
    "longitude": 123
}

final_output = []
for file in files:
    object["latitude"] = file['latitude']
    object["longitude"] = file['longitude']
    final_output.append(object)

df = pd.DataFrame(final_output)
df.to_csv(r"C:UsersUserDownloadssaved.csv") # This will save it to your downloads folder, or just replace the path to anything else

print(final_output)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多