这是我的代码
f= open("average-latitude-longitude-countries.csv", "r")
for line in f:
line = line.strip("\n")
elements = line.split(",")
code = elements[0].strip('"')
elements[1] = elements[1].strip('"')
if len(elements) == 4:
name = elements[1]
latitude = float(elements[2])
longitude = float(elements[3])
else:
elements[2] = elements[2].strip('"')
name = elements[2] + elements[1]
latitude = float(elements[3])
longitude = float(elements[4])
list[]
list.append(code, name, latitude, longitude)
此csv文件如下
AD Andorra 42.5 1.5
AE United Arab Emirates 24 54
AF Afghanistan 33 65
AG Antigua and Barbuda 17.05 -61.8
AI Anguilla 18.25 -63.17
我想要做的是阅读代码,国家名称,纬度,经度
list[(code, name, lat, long)
(code, name, lat, long)]
这种格式。
我刚开始使用python而且我已尝试过“for line in f” 并将项目附加到列表中阅读文档。然而我似乎无法理解的是我如何在该列表中添加四个不同属性的项目。
我似乎无法理解何时使用列表和字典。字典是不可变的?我似乎无法看到这方面的优点。字典会更好吗?
答案 0 :(得分:2)
不要重新发明轮子,而是使用图书馆,例如Collections.sort(childRequirementGroupControllers, (a1, a2) -> a1.getRequirementGroup.getName().compareTo(a2.getRequirementGroup.getName()));
:
pandas
返回一个可以类似dict格式访问的数据帧。
答案 1 :(得分:2)
您可以使用str.split()
f = open("average-latitude-longitude-countries.csv", "r")
l = []
for line in f:
x = tuple(str(line).split())
l.append(x)
print l
答案 2 :(得分:0)
只需使用标准的csv库,有一天你可能会踩到一些csv perk 甚至,专业的库PTable,如果只需要prettyprint,numpy np.loadtxt用于重载数据等。
https://docs.python.org/2/library/csv.html
在前面的讨论中看到类似的例子
import csv
with open('file.csv', 'r') as f:
reader = csv.reader(f)
your_list = list(reader) # Python 3