在Python 3中读取文件时出错

在Python 3中读取文件时出错,python,python-3.x,Python,Python 3.x,下面是我的代码,我的目标是遍历一个大的.txt文件,找到带有“stop1”参数的行,它应该在第三个槽中。然后选取整行,并将其添加到另一个文件中 def reading_files(): import os stop1 = "1040271" file1 = open(os.path.expanduser('~/google_transit/stop_times.txt',),'r') for row in file1: row = row.rstrip() parts

下面是我的代码,我的目标是遍历一个大的.txt文件,找到带有“stop1”参数的行,它应该在第三个槽中。然后选取整行,并将其添加到另一个文件中

def reading_files():
 import os
 stop1 = "1040271"

 file1 = open(os.path.expanduser('~/google_transit/stop_times.txt',),'r')

 for row in file1:
    row = row.rstrip()
    parts = row.split(",")
    if parts[3] == stop1:
        file = open(os.path.expanduser('~/timetable.txt'),'a')
        file.write(row)
reading_files()
我得到以下错误:

return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 6461: ordinal not in range(128)

这里也有类似的帖子,答案与编码/解码有关,但我处理的文件不应该有任何奇怪的字母或类似的东西

它可能有一些。你检查过文件的内容了吗?只是想确定一下,让我们看看文件的内容。还有,这是完整的堆栈跟踪吗?或者只是其中的一部分?请提供您的问题。目前,我们无法验证您的体验。我应该将文件上载到哪里?无法将其放在pastebin或类似位置,因为它有数千行文本。如果完整堆栈跟踪指的是所有代码,那么是的,就是它@mcjoejoe0911@mcjoejoe0911不完全一样,0xc3在拉丁语1中是
Ä
,utf-8中的
Ä
将是0xc3 0x83。这意味着文件的编码可能是latin1,因此应该使用
encoding='latin1'
打开它,它可能有一些。你检查过文件的内容了吗?只是想确定一下,让我们看看文件的内容。还有,这是完整的堆栈跟踪吗?或者只是其中的一部分?请提供您的问题。目前,我们无法验证您的体验。我应该将文件上载到哪里?无法将其放在pastebin或类似位置,因为它有数千行文本。如果完整堆栈跟踪指的是所有代码,那么是的,就是它@mcjoejoe0911@mcjoejoe0911不完全一样,0xc3在拉丁语1中是
Ä
,utf-8中的
Ä
将是0xc3 0x83。这意味着文件的编码可能是拉丁文1,因此应该使用
encoding='latin1'