I have a dataframe in Pandas in which there are cells with text. I found an interesting point that when I want to remove all the gaps in the text that I parsed, I get a result that I did not expect. in order to see what the text looks like, I use the following code. I already know which text changes incorrectly, so I'm looking for it through the link:
vvv = xxx['href'].str.contains('https://tsn.ua/ru/osoblyva_ukraina/pripyat-mertvyy-gorod-318017.html').fillna(False)
xxx[['href', 'text']][vvv].head().to_dict()
{'href': {Timestamp('2013-08-28 10:00:00'): 'https://tsn.ua/ru/osoblyva_ukraina/pripyat-mertvyy-gorod-318017.html'},
'text': {Timestamp('2013-08-28 10:00:00'): 'Зона отчуждения Чернобыльской АЭС манит к себе туристов, жаждущих новых впечатлений.Пожалуй, самым грустным и в то же время одним из самых таинственных мест паломничества туристов является Припять. Расположенный в трех километрах от Чернобыльской АЭС, этот "мертвый город" вот уже на протяжении многих лет притягивает как ученых, так и любителей острых ощущений и нетривиального познавательного туризма.\r\nИ это неспроста, ведь по версии журнала Forbes территория Чернобыльской АЭС названа самым экзотичным местом для туризма на планете.\r\nВременная эвакуация… навсегда\r\nНаселение Припяти перед аварией на ЧАЭС составляло почти 50 тысяч жителей. Но 27 апреля, на следующий день после катастрофы на ЧАЭС, с проведением "временной эвакуации" жизнь города вынужденно прекратилась.\r\nПоистине город представляет собою мрачную картину – пустые многоэтажки, детские сады и школы, больницы, стадионы, магазины, парк с аттракционами, кинотеатр и дом культуры. Тяжело представить, что по улицам этого когда-то динамично развивающегося и успешного города ходили толпы счастливых людей, а во дворах и парках звучал детский смех.\r\nСейчас в Припять в основном ездят туристы, также в каждую годовщину аварии на ЧАЭС почтить память погибших приезжают участники последствий ликвидации аварии и бывшие местные жители.\r\nТуристов, посетивших Припять, в первую очередь поражает пустота брошенного города. Ведь люди покидали свои дома, оставляя все свои вещи дома. И хотя давным-давно все ценности были похищены мародерами, во многих квартирах еще можно увидеть и почувствовать то, как и чем жили их обитатели.\r\nИз отзывов людей, побывавших в Припяти и зоне отчуждения ЧАЭС, становится понятно, что экскурсии в эту местность производят сильное впечатление на всех.\n \n Игрушки и личные вещи до сих пор валяются по городу / Фото: goroda-prizraki.narod.ru \r\n"Поездка оставила неизгладимое впечатление на всю оставшуюся жизнь, мы окунулись в прошлое, в часть истории, побывав рядом с реактором, в городе Припяти ощущали практически на себе те несчастья и боль, которые перенесли жители в результате этой страшной аварии", - пишет посетивший Припять турист на одном из сайтов, который специализируется на организации экскурсий в "мертвый город".\r\n"Самое сильное впечатление оставили город Припять и саркофаг. Город - памятник трагедии, символ призрачного присутствия человека и его "могущества", след жизни и борьбы за нее", - пишет еще один турист.\r\nПрипять: S.T.A.L.K.E.R. и Крепкий орешек\r\nПрипять очень часто упоминается в кинематографе и в компьютерных играх. Вот наиболее известные примеры:\r\nПрипять — место действия популярной игры S.T.A.L.K.E.R., шутера от первого лица, в котором главному герою приходится охотится за артефактами, бороться с порожденными радиацией аномалиями и монстрами;\r\nдействие фильма ужасов "Запретная зона" (2012 год, США) происходит в Припяти. Слоган фильма: "Десять лет назад правительство разрешило экскурсии в "Мёртвый город". Они утверждали, что это безопасно… они ошибались";\r\nв фильме "Трансформеры 3: Тёмная сторона Луны" начало фильма происходит в районе Припяти;\r\nПрипять - место действия двух миссий из игры "Call of Duty 4: Modern Warfare";\r\nразвязка фильма "Крепкий орешек: Хороший день, чтобы умереть", происходит в Припяти. Брюсу Уиллису в фильме приходится воевать с атомным спекулянтом, который припрятал в Припяти огромные запасы оружейного урана.\r\n----------------------------------------------------------\r\nКак добраться? \r\nПрипять находится на севере Киевской области, недалеко от границы с Беларусью. Самый доступный способ попасть в Припять – это купить экскурсионный тур, который обойдется примерно в 1,5-2 тысячи гривен.\r\nЗона отчуждения открыта для посетителей, но для этого нужно получить специальный пропуск и иметь при себе паспорт.\r\nКстати, в турфирмах успокаивают туристов, которые боятся радиоактивного облучения в зоне отчуждения, что уровень облучения при медицинской рентгенографии в десятки раз превышает уровень облучения, который можно получить во время экскурсии. Но в любом случае перед поездкой все туристы подписывают документ, которым берут на себя ответственность за возможные риски во время или после поездки в Припять.\r\nЕхать на экскурсию нужно только в закрытой плотной одежде, ни в коем случае не надевать шорты и футболки.\r\n\xa0\r\n\xa0\r\n <![CDATA[// <![CDATA[\ndrawGoogleMap("Припять", 51.40618,30.057518);\n// ]]]]><![CDATA[>]]>'}}
Standard raw text with a lot of line breaks, etc. and at the end, something else unnecessary also spilled out. I decided to remove spaces in the text, I also tried regular expressions for 100 samples in the sandbox, and there they worked well, and just replace with \n as in the example that I will show later, but the result is the same, all the text is removed, and the main thing , some data is added at the end, which was not faster, I don't know what it is, maybe someone had such a problem?
for item in xxx['text'][vvv].str.replace('\n', ''):
print(item)
and I get:
I am attaching a photo because the result is not displayed here on the site
CodePudding user response:
IIUC, you also need to remove \r
:
for item in xxx.loc[vvv, 'text'].str.replace('[\n\r]', '', regex=True):
print(item)