python - 在纬度/经度 python 列表中查找最接近的纬度和经度匹配

标签 python python-3.x

我试图找到一种更快的方法来从一个巨大的文件中的纬度/经度列表中找到最接近的纬度和经度匹配,我必须打开一个 csv 文件,将其转换为正确的格式。选择我的纬度和经度所在的列,然后将它们插入我的方程......如果它有效的话。 这就是我到目前为止所拥有的......我不断得到

TypeError: float object is not subscriptable

def menu3(data):
    lat2 = 47.488611
    long2 = -117.578611
    data = open('eqdata.csv', 'r')
    reader = data.readlines()
    for line in reader:
        lat1 = line[4]
    for line in reader:
        long1 = line[5]
    for ix in range(len(long1)):
        lat1[ix][5]=int(long2[ix][5])

    for ix in range(len(lat1)):
        lat1[ix][4]=int(lat1[ix][4])

    distance =int((lat2-lat1)**2)**.5+int((long2-long1)**2)
    distanceSq = distance**2
    print (distanceSq)

最佳答案

reader = data.readlines() 将文件的所有行读取到字符串列表中。

这些行:

for line in reader:
    lat1 = line[4]

lat1分配给每行的第5个字符...但它会循环直到最后一行,导致lat1成为最后一行的第5个字 rune 件...可能不是您想要的。

这似乎不是给您提供错误消息的代码,因为给定输入文件这一行:

    lat1[ix][5]=int(long2[ix][5])

由于 lat1 是单个字符,因此应该给出:

IndexError: string index out of range

long2 是之前分配的浮点值,因此索引它也会失败。

使用实际来源、示例输入和错误消息的完整回溯来更新您的问题,以获得更好的帮助。

还有一个csv帮助处理 .csv 文件的模块,但仍然需要一些示例输入。

我还建议使用调试器,或者至少使用一些打印语句,来查看变量正在做什么。

关于python - 在纬度/经度 python 列表中查找最接近的纬度和经度匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17006360/

相关文章:

python - Sublime Text 自动缩进 Python 关键字参数

python - 类型错误 : hp_choice() takes 2 positional arguments but 7 were given

python - 从一个数据帧到另一个数据帧的查找值?

python - 使用 pandas 的 if 语句抛出 "ValueError: The truth value of a Series is ambiguous"

python - 如何以有效的方式将具有 MultiIndex 的数据帧合并到另一个数据帧中?

命令行中的 PHP

python - 这个包含花括号和 for in 循环的 python 表达式是什么?

python - 仅从数据框中获取前三个值

python - 如何在 Python 中将用户输入格式化为 f 字符串?

python - 在Python中添加两个不同大小的图像或填充白色像素以使其更大