我是一名 Python 新手,几天来我一直在为课堂作业而苦苦挣扎。我有一个 csv 文件,其中包含这样的数据:
id,latitude,longitude,city,label,yr1970,yr1975,yr1980,yr1985,yr1990,yr1995,yr2000,yr2005
1,35.6832085,139.8089447,Tokyo,Tokyo,23.3,26.61,28.55,30.3,32.53,33.59,34.45,35.62
该文件大约有 40 行,每行包含与世界城市相关的数据。如您所见,顶行是标题。我应该在 Python 中创建一个类并将 csv 文件读入该类,其中每一行都成为该类的一个实例。然后我将类实例存储在列表中。我已经能够创建一个存储所有数据的实例,但我似乎无法为每一行创建一个实例(而且我显然不想手动执行此操作)。
这是我到目前为止所得到的:
import csv
Cities = []
with open('filepath','rb') as f:
cityList = csv.reader(f)
for row in cityList:
if row != 'label':
for row in cityList:
citysName = row[3]
class City:
def __init__(self, cityName=row[3], Label=row[4], Lat=row[1],
Lon=row[2], yr1970=row[5], yr1975=row[6], yr1980=row[7],
yr1985=row[8], yr1990=row[9], yr1995=row[10], yr2000=row[11],
yr2005=row[12], yr2010=row[13]):
self.cityName = cityName
self.label = Label
self.lat = Lat
self.lon = Lon
self.yr1970 = yr1970
self.yr1975 = yr1975
self.yr1980 = yr1980
self.yr1985 = yr1985
self.yr1990 = yr1990
self.yr1995 = yr1995
self.yr2000 = yr2000
self.yr2005 = yr2005
self.yr2010 = yr2010
citysName = City()
Cities.append(citysName.cityName)
Cities.append(citysName.label)
Cities.append(citysName.lat)
Cities.append(citysName.lon)
Cities.append(citysName.yr1970)
Cities.append(citysName.yr1975)
Cities.append(citysName.yr1980)
Cities.append(citysName.yr1985)
Cities.append(citysName.yr1990)
Cities.append(citysName.yr1995)
Cities.append(citysName.yr2000)
Cities.append(citysName.yr2005)
Cities.append(citysName.yr2010)
print Cities
再说一次,我对 Python(以及一般的编码)还很陌生,我意识到这段代码不好,但我很难找到将 csv 文件读入 Python 类的技巧。