ID|Text 1|Date|Text2
1|Hello There
what a wonderful day|12th|Out in the market
2|Well I wish|13th|Sleeping
3|It is rocking, python
is a great language
to code|18th|what to do
in this scenario
4|Text issues|19th|Solving
Поэтому у меня есть текст в формате выше, в котором я хочу читать каждую запись по строкам, однако есть проблема, что есть новые строки внутри запись, которая не заставляет меня перебирать, используя идиому 'for line in file:'. Моя проблема в том, что я должен прочитать все вышеупомянутые записи, запись времени.Чтение записи в файле, который разделен на несколько строк.
Пример записи из файла выше: «1, Привет Там какой замечательный день, 12-го, в рынке»
Я думал об использовании регулярных выражений здесь после прочтения всего файла в памяти. Так, например, наличие регулярного выражения, например (\d*|)(.*)(\d*|)
, позволит мне получить все между двумя идентификаторами, и это станет моей одной записью.
Проблема, с которой я столкнулся с вышеприведенным подходом, заключается в том, как мне нужно перейти к следующей записи и снова начать сопоставление?
Я не могу думать о шаблоне в приведенном выше, который поможет мне решить мою проблему. Повторяю, я не могу читать строки за строкой, поскольку строки в самих записях разделены новыми строками.
Другой способ изложить проблему заключается в том, как форматировать файл таким образом, чтобы новые строки удалялись для каждой записи, и каждая запись была правильно отформатирована по строкам.
Любое руководство будет оценено по достоинству.
Насколько велик ваш файл? Вы можете прочитать весь файл и изменить свое регулярное выражение для соответствия полям с несколькими строками. –
Мой файл невелик, он будет вписываться в память. –
Это выглядит как неизолированные текстовые поля csv. Может ли символ трубы появляться в текстовых полях? – schwobaseggl