Python Redis py HINCRBY增加散列中的字段值

Python Redis py HINCRBY增加散列中的字段值,python,hash,redis,Python,Hash,Redis,我试图用Python中CSV文件的数据填充Redis,如下所示: r = redis.Redis(host='localhost', port=6379, db=0) with open('.../countries_list.csv') as csvfile: csv_reader = csv.DictReader(csvfile, delimiter =',', fieldnames = ['country', 'capital', 'population']) for ro

我试图用Python中CSV文件的数据填充Redis,如下所示:

r = redis.Redis(host='localhost', port=6379, db=0)
with open('.../countries_list.csv') as csvfile:
    csv_reader = csv.DictReader(csvfile, delimiter =',', fieldnames = ['country', 'capital', 'population'])
    for row in csv_reader:
        country = row['country']
        capital = row['capital']
        population = row['population']
        for row in csv_reader:
            country = row['country']
            capital = row['capital']
            population = (int(row['population']))
            r.hmset(country, {'capital': capital, 'population': population})
这段代码似乎工作正常。但是,现在我想为每个“人口”=0的国家增加“人口”字段的值。(将其从0更改为1) 我尝试使用HINCRBY函数和simple for循环,但它不会更改数据库中的值

for row in csv_reader:
            if population < 1:
                r.hincrby('country', 'population', 1)
csv_读取器中的行的
:
如果人口<1:
r、 hincrby(“国家”、“人口”,1)

你能帮忙并告诉我哪里做错了吗?如何以最有效的方式过滤值并实际增加它们?谢谢。

您将“country”用作字符串而不是变量

for row in csv_reader:
            if population < 1:
                r.hincrby(country, 'population', 1)
csv_读取器中的行的
:
如果人口<1:
r、 hincrby(国家,‘人口’,1)