2个csv文件在for循环中,输出一个csv文件

2024-05-15 05:42:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个csv文件,第一个(station.csv)有两列经纬度,第二个(catalog.csv有5列,还有两列经纬度)我已使用geopy.distance.distance计算了两点之间的距离,但当我尝试迭代文件以获取catalog.csv中每个lat long到站点的距离时,ot始终会给我最后一个值。理想情况下,输出将添加与桩号一样多的列,因此对于catalog.csv中的每个点,我将与给定桩号保持一定距离

预期产量 ctlg.csv,包含原始数据和29个新列,以及与每个sts的距离

时间UTC、纬度、经度、震级、距离1…29

    import pandas as pd  
    import geopy.distance  
    from pandas.core.frame import DataFrame  
    ctlg1 = pd.read_csv('ctlg1.csv', sep=',')  
    sts = pd.read_csv('stations.csv', sep=',')   
    for row1 in sts.iterrows():  
      coords_1 = (row1[1][1], row1[1][2])  
      for row2 in ctlg1.iterrows():  
      coords_2 = (row2[1][4], row2[1][5])  
      distance = geopy.distance.distance((coords_1),(coords_2))  
      data = [distance]    
      df = pd.DataFrame(data)  
      df.to_csv("ctlg.csv")    

Tags: 文件csvimport距离coordsdistancepd经纬度
1条回答
网友
1楼 · 发布于 2024-05-15 05:42:29

在计算嵌套的for循环内的距离后,将其分配给变量data

但是在每次迭代之后,数据的值都会被覆盖。所以自然地,data的最终值将是对应于最后一个坐标的距离

相关问题 更多 >

    热门问题