尝试在python中读取一个非常大的文本列表

11 浏览
0 Comments

尝试在python中读取一个非常大的文本列表

这个问题已经有答案了:

UnicodeEncodeError: \'ascii\' codec can\'t encode character u\'\\xa0\' in position 20: ordinal not in range(128)

我目前正试图通过删除无关数据来缩小一个大列表的大小。我目前正在使用

with open("list.txt") as f_line:
    for line in f_line:
       Doing_things()

它目前在小规模的文件中运行良好,但在使用较大的主文件时,它会产生以下错误。

UnicodeDecodeError: \'ascii\' codec can\'t decode byte 0xe2 in position 3656: ordinal not in range(128)

是否有其他方法将列表读入python中。此外,文件中有超过10000个单个的数据点。

谢谢你的帮助。

admin 更改状态以发布 2023年5月21日
0
0 Comments

原因可能是文件编码的'误解'. 你的Python解释器希望一个文本文件使用ASCII编码, 但实际上它是使用Unicode或者Latin1编码的. 如果文本文件包含有重音符号, 那么它肯定不是一个ASCII文件.

你使用的哪个版本的Python? Python 2和Python 3对待文本的方式不同.

如果不清楚一个文本文件使用了哪种编码, 我通常使用notepad++来检查.

一旦你知道使用了哪种编码, 就可以像这里提到的那样进行设置, 如下代码所示: with open('list.txt', encoding='utf-8') as f_line:

0