python - 读取 CSV 文件并确定数据结构

标签 python csv data-structures types

我正在使用一个相当基本的 CSV 文件,该文件描述了四个城市以及它们之间的距离。因此,我们的目标是从该文件中检索信息,并使用 Python 进行进一步操作。

Excel 文件

该文件在 Excel 中构建如下:

cities.csv file

CSV 文件

导出为 CSV 时,文件表示如下:

,OSL,CPH,LDN,TKO
OSL,0,2,4,10
CPH,2,0,2,9
LDN,4,2,0,12
TKO,10,9,12,0

获取城市

显然,第一行包含所有城市,以及第一个空白单元格。我已执行以下操作来检索城市,不包括空白单元格:

def get_cities(file):
  reader = csv.reader(file)

  cities = []

  row1 = next(reader)
  cities.extend(row1[1:]) #exclude first cell (blank)
  print cities

产量:

['OSL', 'CPH', 'LDN', 'TKO']

绘制城市及其之间的距离

完成此操作后,我现在可以读取文件的其余部分,以检索城市之间的距离。

但是,我发现很难想出一种将这些信息表示为数据结构的好方法。最理想的是,我希望能够检查任意两个城市之间的距离。

任何关于我如何实现这一点的建议,我们将不胜感激。

也就是说,如何最好地表示这些信息以便轻松进行距离查找?

最佳答案

看起来你的数据直接代表了图的邻接矩阵。将其存储为邻接矩阵,只需简单查找 (city1, city2) 的距离即可。为了实现您列举的城市。

关于python - 读取 CSV 文件并确定数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39505682/

相关文章:

python - 使用 python 创建 pandas 中时间列表的平均值

python 将 csv 文件读取为字典并排序和递增计数器

database - 数据框到数据库表

c - 收到 SIGSEGV 错误。找不到负责的指针

c - 优先级队列不按升序插入元素

python - 基本列表检查器

python - 在 Pandas 中,如何仅使用 True 系列 bool 值对行进行求和

Python - 数据框中每个字符串的 str.match

python - 如何将 csv 上传到 s3 存储桶中的我的文件夹中?

c++ - 动态内存分配中使用的堆和数据结构有什么关系?