我试图从 phyton 中读取文本文件,但它没有正确执行。
def read_city_data(file_path):
cities = {}
with open(file_path, 'r') as file:
next(file) # Skip header line
for line in file:
try:
city, latitude, longitude = line.strip().split('\t')
if ' ' in city:
city = '"{}"'.format(city)
cities[city] = (float(latitude), float(longitude))
except ValueError:
print("skipped")
# Skip over lines with invalid format
continue
return cities
这就是我尝试读取文本文件的方式,这是文本文件的格式:
City Latitude Longitude
Oradea 47.0465005 21.9189438
Zerind 46.622511 21.517419
Arad 46.166667 21.316667
Timisoara 45.759722 21.23
Lugoj 45.68861 21.90306
Mehadia 44.904114 22.364516
Drobeta 44.636923 22.659734
Craiova 44.333333 23.816667000000052
Sibiu 45.792784 24.152068999999983
Rimnicu Vilcea 45.099675 24.369318
Fagaras 45.8416403 24.9730954
Pitesti 44.860556 24.867778000000044
Giurgiu 43.9037076 25.9699265
Bucharest 44.439663 26.096306
Urziceni 44.7165317 26.641121
Eforie 44.058422 28.633607
Hirsova 44.6833333 27.9333333
Vaslui 46.640692 27.727647
Iasi 47.156944 27.590278000000012
Neamt 47.2 26.3666667
但是它不起作用,它只是不断跳过打印,表明这是一个异常。
我还尝试编写计算中心性的函数;城市图的度数、接近度、特征向量、介数、Katz 和 pagerank,但我在任何地方都找不到它们的实现,我只能从导入的 networkx 库访问它们。如果有人碰巧知道这样做,请分享。
这可能是因为行中的单词可能没有用制表符分隔。我用 4 个空格替换了它,你的代码对我来说工作得很好,否则它会像你报告的那样显示“跳过”。请确保它们确实是制表符分隔的。要确认,请尝试:
city, latitude, longitude = line.strip().split(' ')
#4 个空格