Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中更新值_Python_Arrays_Csv_Dictionary - Fatal编程技术网

在Python中更新值

在Python中更新值,python,arrays,csv,dictionary,Python,Arrays,Csv,Dictionary,你好,我正试图写一个程序,读取不同品种的不同动物的CSV文件。命名不同的各种动物可以属于同一品种。(想象一下两只猫叫鲍勃和萨姆) 品种在一列,名称在另一列 我希望能够检查所有的动物,并计算每个品种的动物数量 到目前为止,我的代码如下所示: dragon = open('dragons.csv') breed = {} for line in dragon: row = line.strip().split(',') if row[4] in breed.keys(): el

你好,我正试图写一个程序,读取不同品种的不同动物的CSV文件。命名不同的各种动物可以属于同一品种。(想象一下两只猫叫鲍勃和萨姆)

品种在一列,名称在另一列

我希望能够检查所有的动物,并计算每个品种的动物数量

到目前为止,我的代码如下所示:

dragon = open('dragons.csv')

breed = {}

for line in dragon:
    row = line.strip().split(',')
    if row[4] in breed.keys():

else:
    breed[row[4]] = 1 #The Breed is in the fourth column
if row[4] in breed.keys():
    breed[row[4]] += 1
else:
    breed[row[4]] = 1
我该怎么做


谢谢大家!

正如评论所指出的,缩进在python中很重要。
else
if
不在同一缩进级别,因此会出现错误

至于计数,
+=
运算符对此很有用,因此if/else块可以如下所示:

dragon = open('dragons.csv')

breed = {}

for line in dragon:
    row = line.strip().split(',')
    if row[4] in breed.keys():

else:
    breed[row[4]] = 1 #The Breed is in the fourth column
if row[4] in breed.keys():
    breed[row[4]] += 1
else:
    breed[row[4]] = 1

正如评论所指出的,缩进在python中很重要。
else
if
不在同一缩进级别,因此会出现错误

至于计数,
+=
运算符对此很有用,因此if/else块可以如下所示:

dragon = open('dragons.csv')

breed = {}

for line in dragon:
    row = line.strip().split(',')
    if row[4] in breed.keys():

else:
    breed[row[4]] = 1 #The Breed is in the fourth column
if row[4] in breed.keys():
    breed[row[4]] += 1
else:
    breed[row[4]] = 1

您的
else
块缩进不足(
else
可以与
for
配对,但这并不常见,并且代码的逻辑表明此处存在错误)

即使解决了这个问题,Python中也不能有空块,因为Python至少需要一行缩进的代码来检测块的缩进级别(以允许它检测块何时结束)。如果不为块提供任何实体(立即启动新块,或在提供实体之前结束外部块),则会出现您提到的“预期缩进块”错误。因此,您可以使用
pass
(no op关键字表示“这里有一些东西放在一个没有任何作用的块中”):

或者只需反转
if
测试即可控制
else
块,这样您就不需要同时使用这两个模块:

if row[4] not in breed:
    breed[row[4]] = 1 #The Breed is in the fourth column

您的
else
块缩进不足(
else
可以与
for
配对,但这并不常见,并且代码的逻辑表明此处存在错误)

即使您解决了这个问题,Python中也不能有空块,因为Python至少需要一行缩进的代码来检测块的缩进级别(以允许它检测块何时结束)。当您没有为块提供任何主体时(立即启动新块,或在提供主体之前结束外部块),您会得到您提到的“预期缩进块”错误。因此,您可以使用
pass
(no op关键字表示“此处有一些东西放在一个没有任何作用的块中”:

或者只需反转
if
测试即可控制
else
块,这样您就不需要同时使用这两个模块:

if row[4] not in breed:
    breed[row[4]] = 1 #The Breed is in the fourth column

另外,在“else:”行,它给了我一个错误“预期缩进块”,我不理解您的
else
语句必须与
if
处于同一级别。目前,它是独立的,在同一级别上没有
if
,因此它需要缩进。您必须在else和if上放置相同的缩进。因此,如果存在缩进问题,请添加缩进。缩进代码properly@kmario23我才意识到我是个白痴PAlso在“else:”行,它给了我一个“预期缩进块”的错误,我不理解您的
else
语句必须与
if
处于同一级别。目前,它是独立的,在同一级别上没有
if
,因此它需要缩进。您必须在else和if上放置相同的缩进。因此,如果存在缩进问题,请添加缩进。缩进代码properly@kmario23我才意识到我是个白痴太感谢你了!非常感谢,非常感谢!非常感谢。