在 python3.x 中导入 utf-8 csv - 特殊德语字符
import utf-8 csv in python3.x - special german characters
我一直在尝试导入包含特殊字符 (ä ö ü) 的 csv 文件
in python 2.x 所有特殊字符自动编码,无需在打开命令中指定 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)
<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)
输入sample_1.csv(excel文件保存为utf-8 csv)
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--
- 这只是输出格式问题还是我也在导入数据
错了?
- 如何打印出 "Männer"?
感谢您的help/guidance!
感谢 juanpa-arrivillaga and to this answer:
问题是由于我的 Sublime 设置:
sys.stdout.encoding
returns US-ASCII
在终端中使用相同的命令returns UTF-8
正确设置 即可解决问题
我一直在尝试导入包含特殊字符 (ä ö ü) 的 csv 文件
in python 2.x 所有特殊字符自动编码,无需在打开命令中指定 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)
<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)
输入sample_1.csv(excel文件保存为utf-8 csv)
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--
- 这只是输出格式问题还是我也在导入数据 错了?
- 如何打印出 "Männer"?
感谢您的help/guidance!
感谢 juanpa-arrivillaga and to this answer:
问题是由于我的 Sublime 设置:
sys.stdout.encoding
returns US-ASCII
在终端中使用相同的命令returns UTF-8
正确设置