关于python字典错误

Python 是一种高级编程语言,它的数据结构非常灵活,字典作为 Python 内置数据类型之一,其基本的结构是键值对,其典型应用场景包括数据缓存、缓存数据自动过期、实现 Set 等。但是在使用字典时,我们可能会遇到一些错误,比如 CSV 文件读取的编码错误等问题,接下来就让我们深入探讨一下。

一、Python 字典错误

Python 字典是一个左右键值对的集合,用于存储关联数据。它是一个非常有用的数据结构,但其中也可能出现错误。比如:

1.找不到键:如果使用一个不存在的键来查找字典中的值,则会出现 KeyError 错误。

例如:

```

d = {'a':1, 'b':2, 'c':3}

print(d['d'])

```

运行上述程序会报 KeyError: 'd' 错误。因为字典中没有 'd' 这个键。因此,在查找字典中的值之前,应该先检查所查找的键是否存在。

2.非法参数:Python 字典的构造函数 dict() 接受不同类型的参数。如果参数不正确,就会引发 TypeError 错误。

例如:

```

d = dict(key1='value1', key2='value2', key3='value3', [('key4', 'val4'), ('key5', 'val5')])

print(d)

```

在上面的示例中,最后一个参数被编写为列表,并且键值对作为元组传递。而 dict() 构造函数不接受这种类型的列表。因此,在创建命名参数字典时,必须按照正确的格式传递参数。

二、Python 读 CSV 报 UTF-8 错误

在 Python 中,使用 csv 模块操作 CSV 文件非常方便,但是在读取 CSV 文件时,可能会遇到一些编码错误,特别是在打开 UTF-8 编码的 CSV 文件时。这些错误通常是 UnicodeDecodeError,出现的原因是 CSV 文件的值包含无效的非 UTF-8 字符。

解决这个问题的方法是使用正确的编码打开 CSV 文件。

例如:

```

import csv

with open('file.csv', 'r', encoding='utf-8') as f:

reader = csv.reader(f)

for row in reader:

print(row)

```

在上述示例中,我们将文件的编码设置为 utf-8,在读取 CSV 文件时只需将编码一起传递给 open() 函数即可。这样,即使文件包含非 UTF-8 字符,也不会引发编码错误。

当然,在读取 CSV 文件时,还可以通过csv模块的csv.reader()函数传递自定义的参数,例如自定义分隔符、引用字符等参数。

例如:

```

import csv

with open('file.csv', 'r', encoding='utf-8') as f:

reader = csv.reader(f, delimiter=';', quotechar='"', quoting=csv.QUOTE_MINIMAL)

for row in reader:

print(row)

```

在上述示例中,我们通过 delimiter 参数自定义了分隔符为 ';',通过 quotechar 参数自定义了引用字符为 '"',通过 quoting 参数自定义了引用类型为 csv.QUOTE_MINIMAL。

总之,要想正确读取 CSV 文件,就需要确保文件的编码与打开文件时设置的编码相同。在读取 CSV 文件时,也可以使用 csv 模块提供的各种参数定制化。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(79) 打赏

评论列表 共有 1 条评论

张艺兴是我正室° 1年前 回复TA

天天好运道,日日福星照。

立即
投稿
发表
评论
返回
顶部