我正在为一个班级项目使用csv。它有3列,“年”,“标题字段”和“值”。为了解决一个更大的问题,我只想根据年份和标题字段,将一个变量赋给一个特定的值。你知道吗
csv如下所示:
2008,Total Housing Units,41194
2008,Vacant Housing Units,4483
2008,Occupied Housing Units,36711
这是我的密码:
import csv
ohu = 'Occupied Housing Units'
vhu = 'Vacant Housing Units'
thu = 'Total Housing Units'
filename = 'denton_housing.csv'
# creates dictionary
with open(filename, 'r', encoding='utf8', newline='') as f:
housing_stats = []
for row in csv.DictReader(f, delimiter=','):
year = int(row['year'])
field_name = row['title_field']
value = int(row['value'])
denton_dict = {'year': year, 'title_field': field_name, 'value': value}
housing_stats.append(denton_dict)
if row['year'] == 2008 and row['title_field'] == vhu:
vac_unit = int(row['value'])
print(vac_unit)
我用一个print语句运行这个程序,但在底部没有if语句,它将整个csv数据作为字典列表提供给我,这就是我想要的。然而,当我把它改成现在的样子时,它只是运行,不打印任何东西。你知道吗
例如,有一行将匹配年份和特定标题字段。我试图将该行中的值赋给vac_unit
我相信你对有关代码的缩进是错误的。如果有,请更新。你知道吗
您正在将整数与字符串进行比较。你知道吗
应该是的
或者
相关问题 更多 >
编程相关推荐