Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.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 无法通过拉丁文1编码的文件进行分析_Python_Python 3.6 - Fatal编程技术网

Python 无法通过拉丁文1编码的文件进行分析

Python 无法通过拉丁文1编码的文件进行分析,python,python-3.6,Python,Python 3.6,我正试图解析斯坦福情感数据库中的一个大型推文文件,请参见此处:,以下是我的代码: def init_process(fin, fout): outfile = open(fout, 'a') with open(fin, buffering=200000, encoding='latin-1') as f: try: for line in f: line = line.replace('"', '')

我正试图解析斯坦福情感数据库中的一个大型推文文件,请参见此处:,以下是我的代码:

def init_process(fin, fout):
    outfile = open(fout, 'a')
    with open(fin, buffering=200000, encoding='latin-1') as f:
        try:
            for line in f:
                line = line.replace('"', '')
                initial_polarity = line.split(',')[0]
                if initial_polarity == '0':
                    initial_polarity = [1, 0]
                elif initial_polarity == '4':
                    initial_polarity = [0, 1]

                tweet = line.split(',')[-1]
                outline = str(initial_polarity) + ':::' + tweet
                outfile.write(outline)
        except Exception as e:
            print(str(e))
    outfile.close()

init_process('training.1600000.processed.noemoticon.csv','train_set.csv')
我遇到了以下问题:

'ascii' codec can't encode characters in position 12-14: ordinal not in range(128)

这是没有意义的,因为我用拉丁1编码打开文件。如何停止此错误并成功解析文件?

可能是输出文件编码仍然是ASCII码。您应该使用正确的编码打开它,也不必使用拉丁语-1,可能utf-8更适合您的环境


:文件编码是特定于区域的,您可能应该考虑将您的区域设置更改为能够处理非ASCII文本的文本。

CSV是文本的,我将离线处理并使用编码转换器(例如,可能)转换整个文件。这将很快发生。文件没那么大。你的时间比电脑时间更宝贵。也可以阅读您是否可以显示完整的回溯和产生此错误的输入文件?@Ås我提供的链接有一个zip文件的下载链接,解压后会生成一个包含两个csv文件的文件夹,其中一个是输入文件。此外,这就是给出的全部回溯错误。感谢@BasileStarynkevitch提供的资源,似乎很有启发性。可以补充的是,这取决于语言环境。如果在UTF-8语言环境中运行脚本,则不会发生错误。是的,这是合理的,我没有想到这一点,因为我通常在UTF-8语言环境中工作。