Я читаю строки данных, разделенных запятыми, в windows OS, с python 3.8.2.
Некоторые поля имеют встроенный CRLF на полпути, как в этой конкретной записи, которая имеет многострочный данные, такие как:
"John SmithCRLFJaneDoe"
Данные в источнике были введены как:
"John Smith
Jane Doe"
Когда я читаю эту строку и хочу преобразовать ее в строку Я получаю str = "John Smith", так как синтаксический анализатор прерывает CRLF.
Поэтому я пытаюсь заменить CRLF на полпути другим символом:
with open('bogus_line.csv', 'r') as MyLine:
str = MyLine.read()
print (str)
raw_string = str.replace('\\r\\n'," || ")
print (raw_string) # the problem is is generating the correct raw string format???
Производит :
"John Smith
Jane Doe"
"John Smith
Jane Doe"
Но я хотел бы:
"John Smith
Jane Doe"
"John Smith || Jane Doe"
Ниже не работает, возвращая ошибку:
with open('bogus_line.csv', 'r') as MyLine:
str = MyLine.read()
print (str)
raw_string = r'str.replace('\\r\\n'," || ")
print (raw_string)
Вы ожидаете, что ниже будет работать, но он проходит как в первом примере, завершая, но не объединяя две строки:
with open('bogus_line.csv', 'r') as MyLine:
str = MyLine.read()
print (str)
raw_string = r"{}".format(str).replace('\\r\\n'," || ")
print (raw_string)
Производит:
"John Smith
Jane Doe"
"John Smith
Jane Doe"