Я читаю различные строки из CSV-файла, например:
f1 = open(current_csv, 'rb')
table = f1.readlines()
f1.close()
Таким образом, любая строка в table
выглядит примерно так:
line = b' G\xe4rmanword: 123,45\r\n'
, что type
говорит мне, что bytes
, но мне нужно обойтись с .replace
, поэтому я превращаю его в строку: line = str(line)
, но теперь line
превратился в
"b' G\\xe4rmanword: 123,45\\r\\n'"
с помощью и добавил \
перед каждым \
. Однако, с print(line)
они не отображаются, но если я хочу превратить \xe4
в ae
(альтернативный способ записи ä) с line = line.replace('\xe4', 'ae')
, это просто ничего не делает. Использование '\\xe4'
работает, однако. Но я ожидал бы, что первый просто превращает \\xe4
в \ae
вместо того, чтобы просто ничего не делать, а второй вариант при работе опирается на мое определение нового определения для замены для ä , оба из которых я бы предпочел избегать.
Поэтому я пытаюсь понять, откуда взялся дополнительный backsla sh и как я могу избежать его, чтобы начать с вместо того, чтобы исправить это в моей постобработке. У меня такое ощущение, что что-то изменилось между python2 и 3, так как исходный csv-ридер - это скрипт python2, который я перевел с 2to3
.