导入python3.x格式的utf-8 csv-特殊德语字符

导入python3.x格式的utf-8 csv-特殊德语字符,python,encoding,utf-8,import-csv,Python,Encoding,Utf 8,Import Csv,我一直在尝试导入包含特殊字符的csv文件(äöü) 在Python2.x中,自动编码的所有特殊字符,无需在open命令中指定econding属性 我不知道如何在python 3.x中实现这一点 import csv f = open('sample_1.csv', 'rU', encoding='utf-8') csv_f = csv.reader(f, delimiter=';') bla = list(csv_f) print(type(bla)) print(bla[0]) prin

我一直在尝试导入包含特殊字符的csv文件(äöü)

在Python2.x中,自动编码的所有特殊字符,无需在open命令中指定econding属性

我不知道如何在python 3.x中实现这一点

import csv

f = open('sample_1.csv', 'rU', encoding='utf-8')
csv_f = csv.reader(f, delimiter=';')

bla = list(csv_f)
print(type(bla))

print(bla[0])
print(bla[1])
print(bla[2])
print()
print(bla[3])
控制台输出(Sublime Build python3)

  • 这只是一个输出格式问题,还是我也在导入数据 错了吗
  • 我怎样才能打印出“Männer”
  • 感谢您的帮助/指导

    感谢您的回答:

    问题是由于我的崇高设置:
    sys.stdout.encoding
    返回US-ASCII

    在终端中,相同的命令返回UTF-8


    正确设置将解决问题

    问题似乎是您的终端未配置为打印unicodeSo,请检查
    import sys;打印(系统标准编码)
    导入系统;print(sys.stdout.encoding)返回ASCIISo,这就是问题所在。您的本地设置是UTF-8吗?谢谢!在终端中,我的stdout.encoding设置为UTF-8,事实上,通过终端启动时,csv被正确导入。唯一的问题是,当通过Sublime(US-ASCII)启动构建时,是否可以切换到utf-8而不会弄乱环境变量?
    <class 'list'>
    ['\ufeffCat1', 'SEO Meta Text']
    ['Damen', 'Damen----']
    ['Damen', 'Damen-Accessoires-Beauty-Geschenk-Sets-']
    
    Traceback (most recent call last):
      File "/Users/xxx/importer_tree.py", line 13, in <module>
        print(bla[3])
    UnicodeEncodeError: 'ascii' codec can't encode character '\xf6' in position 37: ordinal not in range(128)
    
    Cat1;SEO Meta Text
    Damen;Damen----
    Damen;Damen-Accessoires-Beauty-Geschenk-Sets-
    Damen;Damen-Accessoires-Beauty-Körperpflege-
    Männer;Männer-Sport-Sportschuhe-Trekkingsandalen-
    Männer;Männer-Sport-Sportschuhe-Wanderschuhe-
    Männer;Männer-Sport-Sportschuhe--