有一个文本文件,每行包含一个城市列表:
Абаза
Абакан
Абдулино
Абинск
Агидель
...
它是从页面ru.wikipedia.org/wiki/Спиок_городов_России解析而来的。
城市的顺序与页面上的顺序相同。如何获取每个城市的人口?
我逐行阅读了文件,下一步做什么?
with open('C:\\cities.txt', 'r',encoding="utf8") as f:
nums = f.read().splitlines()
类似的案件可以在 的帮助下成功解决
pandas.read_html。此函数的结果将是页面上的表格列表。维基百科通常组织得很好,很容易找到你需要的表格。在您的情况下,此列表中的前两个将是重要的,其中第一个是具有独立城市的主要城市,第二个是联邦重要城市内的城市(它们不被视为独立的,也不在第一个表中)。清理时,您需要考虑到城市人口以空格作为数字组之间的分隔符,并且某些数字带有方括号中的脚注,例如
"13 010 112[2]"。data[1]您可以以类似的方式处理包含联邦重要城市内的城市的表格。它们之间的区别在于第四个字段的名称(第一个字段为"Регион",第二个字段为 -"ГФЗ")。如果统一此字段的名称并添加一个指示保险表编号的附加字段,则可以使用将两者安全地组合成一个表pandas.concat。在分析之前,您应该阅读页面上的脚注,以了解第二个表中联邦城市的人口与下属城市的人口相比如何。