我目前正在处理一项要求我接受 .csv 值并将其格式化为特定标准的任务。我也不允许使用任何执行此操作的 python 库,我的教授也不希望我们根据文件名硬编码解决方案。这是此类别的第三个作业,由于 .csv 在此特定作业中的格式,我不再能够通过在我制作的列表中的特定位置建立索引来检索感兴趣的值。下面我将添加我之前的代码和尝试使用 .index 的代码以及我设置的列表的第一部分。
原始解决方案:
for line in csvReaderR:
stripper = line.strip("\n")
splitter = stripper.split(",")
if splitter[2] == projection_year:
data_list.append(splitter)
for popProjection in data_list:
try:
name = popProjection[0]
population = popProjection[4]
except IndexError:
population = popProjection[3]
新解决方案:
if splitter.index("year") == projection_year:
data_list.append(splitter)
for popProjection in data_list:
name = popProjection.index("State")
population = popProjection.index("Projected populations")
列表在下面,我的结构是每个单独的索引都是一列,如果我在这种特殊情况下将其索引为 1,则需要 Year 和下面的所有内容。问题是索引会根据 .csv 文件而变化,我们不允许在其中硬编码解决方案。
['State', 'Year', 'Projected Populations']
['Alabama', '2004', '4513207']
['Alabama', '2005', '4527166']
['Alabama', '2006', '4541263']
['Alabama', '2007', '4555152']
['Alabama', '2008', '4568983']
['Alabama', '2009', '4582698']