Data parser/import?
-
@V-Melnik said in Data parser/import?:
Please help to automate the process
Your task is not one that can be automated with an off-the-shelf tool, because you have requirements that are non-standard. However, if you take the time to understand the script he provided, you can customize it to meet your specific needs.
----
Please note: This Community Forum is not a data transformation service; you should not expect to be able to always say “I have data like X and want it to look like Y” and have us do all the work for you. If you are new to the Forum, and new to regular expressions, and if your question can be answered with a regular expression, we will often give help on the first one or two data-transformation questions, especially if they are well-asked and you show a willingness to learn; and we will point you to the documentation where you can learn how to do the data transformations for yourself in the future. But if you repeatedly ask us to do your work for you, you will find that the patience of usually-helpful Community members wears thin. If your task is more complicated than just a search-and-replace / regular expression, it might require a script; we might provide an example script, but you are expected to put in the effort to tweak our attempt to match your needs
-
This post is deleted! -
-
@V-Melnik said in Data parser/import?:
@PeterJones said in Data parser/import?:
we might provide an example script_
It would be great
We did provide an example script – the mail merge script. If that doesn’t meet your needs, you are expected to try to add in the functionality that you need. We are not a free coding service. We are not a data transformation service. We are fellow Notepad++ users.
-
@V-Melnik
Broadly agree with PeterJones on this.That said, here are some tools (in Python’s pandas library) that may be of some use:
- pandas.read_xml may help
- pandas.merge probably also helps
- pandas.series
rough pseudocode (there may be a better way, but I don’t know what it would be)
doc1 = parse the first doc (the one with the <p> tags that start with a number) dict1 = make a pandas series mapping the number at the beginning of the p tags to the rest of the text in the tag doc2 = parse the second doc (the one with the <sup title="number"> tags) series2 = make a pandas series mapping the number of the sup tag to the text before the sup tag in doc2 joined = pandas.merge series1 with series2 result = do some post-processing, emit the desired HTML
The actual implementation is much more finicky than what’s described here, which is why I didn’t just do it for you.
-
-
@guy038 said in Data parser/import?:
I’m trying to get a regex solution to your problem
Regex usage could solve a very limited “mail merge” problem, it’s true.
The total number of necessary replacements/insertions is 1518 lines - phrases
I don’t know if I would call this limited.
Have fun playing with regex. -
Hi, @v-melnik, @peterjones, @alan-kilborn and All,
EDIT : Skip this post and use the simplified method of my next post !
Follow the instructions carefully, one after the other !
Let’s start with your
File_A.txt
, below :<p style="text-align:justify;"><i>Старец.</i>Все виды бесовской прелести, которым подвергается подвижник молитвы, возникают из того, что в основание молитвы не положено покаяние, что покаяние не сделалось источником, душою, целию молитвы. «Если кто, — говорит преподобный Григорий Синаит в вышеприведенной статье, — с самонадеянностию, основанною на самомнении<sup title="514">❊</sup>, мечтает достигнуть в высокие молитвенные состояния и стяжал ревность не истинную, а сатанинскую, того диавол удобно опутывает своими сетями, как своего служителя». Всякий, усиливающийся взойти на брак Сына Божия не в чистых и светлых одеждах, устраиваемых покаянием, а прямо в своем рубище, в состоянии ветхости, греховности и самообольщения, извергается вон, во тьму кромешную: в бесовскую прелесть. Совещаю тебе, говорит Спаситель призванному к таинственному жречеству, купити от Мене злато разжжено огнем, да обогатишися, и одеяние бело, да облечешися, да не явится срамота наготы твоея: и коллурием слез помажи чувственные очи твои и очи ума, да видиши. Аз, ихже люблю, обличаю и наказую. Ревнуй убо и покайся<sup title="515">❊</sup>. Покаяние и все, из чего оно составляется, как то: сокрушение или болезнование духа, плач сердца, слезы, самоосуждение, памятование и предощущение смерти, суда Божия и вечных мук, ощущение присутствия Божия, страх Божий, — суть дары Божии, дары великой цены, дары первоначальные и основные, залоги даров высших и вечных. Без предварительного получения их подаяние последующих даров невозможно. «Как бы ни возвышенны были наши подвиги, — сказал святой Иоанн Лествичник, — но если мы не стяжали болезнующего сердца, то эти подвиги и ложны и тщетны»<sup title="516">❊</sup>.</p>
-
Copy your
File_A.txt
to a new fileFile_C.txt
-
Open
File_C.txt
in Notepad++ -
Move at the very beginning of
File_C.txt
-
Open the Replace dialog (
Ctrl + H
) -
Uncheck all box options
-
SEARCH
(?x-i) < sup \x20 title = "\d+" >
-
REPLACE
\r\n$0\r\n
-
Select the
Regular expression
search mode -
Click on the
Replace All
button
=> This regex S/R highlights all the lines
<sup title="###">
and you should get this text :<p style="text-align:justify;"><i>Старец.</i>Все виды бесовской прелести, которым подвергается подвижник молитвы, возникают из того, что в основание молитвы не положено покаяние, что покаяние не сделалось источником, душою, целию молитвы. «Если кто, — говорит преподобный Григорий Синаит в вышеприведенной статье, — с самонадеянностию, основанною на самомнении <sup title="514"> ❊</sup>, мечтает достигнуть в высокие молитвенные состояния и стяжал ревность не истинную, а сатанинскую, того диавол удобно опутывает своими сетями, как своего служителя». Всякий, усиливающийся взойти на брак Сына Божия не в чистых и светлых одеждах, устраиваемых покаянием, а прямо в своем рубище, в состоянии ветхости, греховности и самообольщения, извергается вон, во тьму кромешную: в бесовскую прелесть. Совещаю тебе, говорит Спаситель призванному к таинственному жречеству, купити от Мене злато разжжено огнем, да обогатишися, и одеяние бело, да облечешися, да не явится срамота наготы твоея: и коллурием слез помажи чувственные очи твои и очи ума, да видиши. Аз, ихже люблю, обличаю и наказую. Ревнуй убо и покайся <sup title="515"> ❊</sup>. Покаяние и все, из чего оно составляется, как то: сокрушение или болезнование духа, плач сердца, слезы, самоосуждение, памятование и предощущение смерти, суда Божия и вечных мук, ощущение присутствия Божия, страх Божий, — суть дары Божии, дары великой цены, дары первоначальные и основные, залоги даров высших и вечных. Без предварительного получения их подаяние последующих даров невозможно. «Как бы ни возвышенны были наши подвиги, — сказал святой Иоанн Лествичник, — но если мы не стяжали болезнующего сердца, то эти подвиги и ложны и тщетны» <sup title="516"> ❊</sup>.</p>
-
At the end of
File_C.txt
, add a new line of, let’s say, five=
signs, at least -
Now, in
File_C.txt
, append yourFile_B.txt
right after the line of equal signs
The
File_C.txt
becomes :<p style="text-align:justify;"><i>Старец.</i>Все виды бесовской прелести, которым подвергается подвижник молитвы, возникают из того, что в основание молитвы не положено покаяние, что покаяние не сделалось источником, душою, целию молитвы. «Если кто, — говорит преподобный Григорий Синаит в вышеприведенной статье, — с самонадеянностию, основанною на самомнении <sup title="514"> ❊</sup>, мечтает достигнуть в высокие молитвенные состояния и стяжал ревность не истинную, а сатанинскую, того диавол удобно опутывает своими сетями, как своего служителя». Всякий, усиливающийся взойти на брак Сына Божия не в чистых и светлых одеждах, устраиваемых покаянием, а прямо в своем рубище, в состоянии ветхости, греховности и самообольщения, извергается вон, во тьму кромешную: в бесовскую прелесть. Совещаю тебе, говорит Спаситель призванному к таинственному жречеству, купити от Мене злато разжжено огнем, да обогатишися, и одеяние бело, да облечешися, да не явится срамота наготы твоея: и коллурием слез помажи чувственные очи твои и очи ума, да видиши. Аз, ихже люблю, обличаю и наказую. Ревнуй убо и покайся <sup title="515"> ❊</sup>. Покаяние и все, из чего оно составляется, как то: сокрушение или болезнование духа, плач сердца, слезы, самоосуждение, памятование и предощущение смерти, суда Божия и вечных мук, ощущение присутствия Божия, страх Божий, — суть дары Божии, дары великой цены, дары первоначальные и основные, залоги даров высших и вечных. Без предварительного получения их подаяние последующих даров невозможно. «Как бы ни возвышенны были наши подвиги, — сказал святой Иоанн Лествичник, — но если мы не стяжали болезнующего сердца, то эти подвиги и ложны и тщетны» <sup title="516"> ❊</sup>.</p> ===== <p style="text-align:justify;">514. В подлиннике сказано: «Аще кто мечтает высокая со мнением доспети». Здесь употреблено объяснительное выражение, чтобы отчетливее показать значение слова мнение. </p> <p style="text-align:justify;">515. Советую тебе купить у Меня золото, огнем очищенное, чтобы тебе обогатиться, и белую одежду, чтобы одеться и чтобы не видна была срамота наготы твоей, и глазною мазью помажь глаза твои, чтобы видеть. Кого Я люблю, тех обличаю и наказываю. Итак, будь ревностен и покайся (Откр. 3:18–19).</p> <p style="text-align:justify;">516. Лествица. Слово 7.</p>
-
Move to the line of equal signs ( IMPORTANT )
-
Open the Replace dialog (
Ctrl + H
) -
Uncheck all box options
-
SEARCH
(?xs-i) ( <p \x20 style="text-align:justify;"> ) ( .+? ) </p>
-
REPLACE
\1\r\n\2\r\n</p>
-
Select the
Regular expression
search mode -
Click on the
Replace All
button
This regex highlights the lines
###. Future text to replace the ### digits.
. So the text ofFile_C
is changed as :<p style="text-align:justify;"><i>Старец.</i>Все виды бесовской прелести, которым подвергается подвижник молитвы, возникают из того, что в основание молитвы не положено покаяние, что покаяние не сделалось источником, душою, целию молитвы. «Если кто, — говорит преподобный Григорий Синаит в вышеприведенной статье, — с самонадеянностию, основанною на самомнении <sup title="514"> ❊</sup>, мечтает достигнуть в высокие молитвенные состояния и стяжал ревность не истинную, а сатанинскую, того диавол удобно опутывает своими сетями, как своего служителя». Всякий, усиливающийся взойти на брак Сына Божия не в чистых и светлых одеждах, устраиваемых покаянием, а прямо в своем рубище, в состоянии ветхости, греховности и самообольщения, извергается вон, во тьму кромешную: в бесовскую прелесть. Совещаю тебе, говорит Спаситель призванному к таинственному жречеству, купити от Мене злато разжжено огнем, да обогатишися, и одеяние бело, да облечешися, да не явится срамота наготы твоея: и коллурием слез помажи чувственные очи твои и очи ума, да видиши. Аз, ихже люблю, обличаю и наказую. Ревнуй убо и покайся <sup title="515"> ❊</sup>. Покаяние и все, из чего оно составляется, как то: сокрушение или болезнование духа, плач сердца, слезы, самоосуждение, памятование и предощущение смерти, суда Божия и вечных мук, ощущение присутствия Божия, страх Божий, — суть дары Божии, дары великой цены, дары первоначальные и основные, залоги даров высших и вечных. Без предварительного получения их подаяние последующих даров невозможно. «Как бы ни возвышенны были наши подвиги, — сказал святой Иоанн Лествичник, — но если мы не стяжали болезнующего сердца, то эти подвиги и ложны и тщетны» <sup title="516"> ❊</sup>.</p> ===== <p style="text-align:justify;"> 514. В подлиннике сказано: «Аще кто мечтает высокая со мнением доспети». Здесь употреблено объяснительное выражение, чтобы отчетливее показать значение слова мнение. </p> <p style="text-align:justify;"> 515. Советую тебе купить у Меня золото, огнем очищенное, чтобы тебе обогатиться, и белую одежду, чтобы одеться и чтобы не видна была срамота наготы твоей, и глазною мазью помажь глаза твои, чтобы видеть. Кого Я люблю, тех обличаю и наказываю. Итак, будь ревностен и покайся (Откр. 3:18–19). </p> <p style="text-align:justify;"> 516. Лествица. Слово 7. </p>
-
Move at the very beginning of
File_C.txt
-
Open the Replace dialog (
Ctrl + H
) -
Uncheck all box options
-
SEARCH
(?x-i) ( <sup \x20 title=" )( \d+ )(?= "> (?s).+ ^===+ \R .+? ^ \2 \. \x20 (?-s) (.+) ) | (?s) ^===.+
-
REPLACE
\1\3
-
Select the
Regular expression
search mode -
Click on the
Replace All
button
This regex S/R substitute each line beginning with
"<sup title="###">
with the line"<sup title="
followed with the corresponding text, located after the line of=
signsAnd we get the ( almost ) final text :
<p style="text-align:justify;"><i>Старец.</i>Все виды бесовской прелести, которым подвергается подвижник молитвы, возникают из того, что в основание молитвы не положено покаяние, что покаяние не сделалось источником, душою, целию молитвы. «Если кто, — говорит преподобный Григорий Синаит в вышеприведенной статье, — с самонадеянностию, основанною на самомнении <sup title="В подлиннике сказано: «Аще кто мечтает высокая со мнением доспети». Здесь употреблено объяснительное выражение, чтобы отчетливее показать значение слова мнение."> ❊</sup>, мечтает достигнуть в высокие молитвенные состояния и стяжал ревность не истинную, а сатанинскую, того диавол удобно опутывает своими сетями, как своего служителя». Всякий, усиливающийся взойти на брак Сына Божия не в чистых и светлых одеждах, устраиваемых покаянием, а прямо в своем рубище, в состоянии ветхости, греховности и самообольщения, извергается вон, во тьму кромешную: в бесовскую прелесть. Совещаю тебе, говорит Спаситель призванному к таинственному жречеству, купити от Мене злато разжжено огнем, да обогатишися, и одеяние бело, да облечешися, да не явится срамота наготы твоея: и коллурием слез помажи чувственные очи твои и очи ума, да видиши. Аз, ихже люблю, обличаю и наказую. Ревнуй убо и покайся <sup title="Советую тебе купить у Меня золото, огнем очищенное, чтобы тебе обогатиться, и белую одежду, чтобы одеться и чтобы не видна была срамота наготы твоей, и глазною мазью помажь глаза твои, чтобы видеть. Кого Я люблю, тех обличаю и наказываю. Итак, будь ревностен и покайся (Откр. 3:18–19)."> ❊</sup>. Покаяние и все, из чего оно составляется, как то: сокрушение или болезнование духа, плач сердца, слезы, самоосуждение, памятование и предощущение смерти, суда Божия и вечных мук, ощущение присутствия Божия, страх Божий, — суть дары Божии, дары великой цены, дары первоначальные и основные, залоги даров высших и вечных. Без предварительного получения их подаяние последующих даров невозможно. «Как бы ни возвышенны были наши подвиги, — сказал святой Иоанн Лествичник, — но если мы не стяжали болезнующего сердца, то эти подвиги и ложны и тщетны» <sup title="Лествица. Слово 7."> ❊</sup>.</p>
To end with :
-
Move at the very beginning of
File_C.txt
-
Open the Replace dialog (
Ctrl + H
) -
Uncheck all box options
-
SEARCH
(?x) (?<!\r\n) (\r\n) (?!\R)
-
REPLACE
Leave EMPTY
-
Select the
Regular expression
search mode -
Click on the
Replace All
button
This regex delete any line-break, not preceded and not followed with an other line-break
And here is your expected OUTPUT
File_C.txt
text :<p style="text-align:justify;"><i>Старец.</i>Все виды бесовской прелести, которым подвергается подвижник молитвы, возникают из того, что в основание молитвы не положено покаяние, что покаяние не сделалось источником, душою, целию молитвы. «Если кто, — говорит преподобный Григорий Синаит в вышеприведенной статье, — с самонадеянностию, основанною на самомнении<sup title="В подлиннике сказано: «Аще кто мечтает высокая со мнением доспети». Здесь употреблено объяснительное выражение, чтобы отчетливее показать значение слова мнение.">❊</sup>, мечтает достигнуть в высокие молитвенные состояния и стяжал ревность не истинную, а сатанинскую, того диавол удобно опутывает своими сетями, как своего служителя». Всякий, усиливающийся взойти на брак Сына Божия не в чистых и светлых одеждах, устраиваемых покаянием, а прямо в своем рубище, в состоянии ветхости, греховности и самообольщения, извергается вон, во тьму кромешную: в бесовскую прелесть. Совещаю тебе, говорит Спаситель призванному к таинственному жречеству, купити от Мене злато разжжено огнем, да обогатишися, и одеяние бело, да облечешися, да не явится срамота наготы твоея: и коллурием слез помажи чувственные очи твои и очи ума, да видиши. Аз, ихже люблю, обличаю и наказую. Ревнуй убо и покайся<sup title="Советую тебе купить у Меня золото, огнем очищенное, чтобы тебе обогатиться, и белую одежду, чтобы одеться и чтобы не видна была срамота наготы твоей, и глазною мазью помажь глаза твои, чтобы видеть. Кого Я люблю, тех обличаю и наказываю. Итак, будь ревностен и покайся (Откр. 3:18–19).">❊</sup>. Покаяние и все, из чего оно составляется, как то: сокрушение или болезнование духа, плач сердца, слезы, самоосуждение, памятование и предощущение смерти, суда Божия и вечных мук, ощущение присутствия Божия, страх Божий, — суть дары Божии, дары великой цены, дары первоначальные и основные, залоги даров высших и вечных. Без предварительного получения их подаяние последующих даров невозможно. «Как бы ни возвышенны были наши подвиги, — сказал святой Иоанн Лествичник, — но если мы не стяжали болезнующего сердца, то эти подвиги и ложны и тщетны»<sup title="Лествица. Слово 7.">❊</sup>.</p>
Best Regards
guy038
-
-
Hello, @v-melnik, @peterjones, @alan-kilborn and All,
Finally , we do not need to specially highlight the zones concerned in replacement ! Therefore, the method is significantly simplified :-;
Follow all the steps carefully, one after the other !
-
Copy your
File_A.txt
to a new fileFile_C.txt
-
At the end of
File_C.txt
, add a new line of, let’s say, five=
signs, at least -
Now, always in
File_C.txt
, append yourFile_B.txt
right after the line of equal signs
So, you get the following INPUT text :
<p style="text-align:justify;"><i>Старец.</i>Все виды бесовской прелести, которым подвергается подвижник молитвы, возникают из того, что в основание молитвы не положено покаяние, что покаяние не сделалось источником, душою, целию молитвы. «Если кто, — говорит преподобный Григорий Синаит в вышеприведенной статье, — с самонадеянностию, основанною на самомнении<sup title="514">❊</sup>, мечтает достигнуть в высокие молитвенные состояния и стяжал ревность не истинную, а сатанинскую, того диавол удобно опутывает своими сетями, как своего служителя». Всякий, усиливающийся взойти на брак Сына Божия не в чистых и светлых одеждах, устраиваемых покаянием, а прямо в своем рубище, в состоянии ветхости, греховности и самообольщения, извергается вон, во тьму кромешную: в бесовскую прелесть. Совещаю тебе, говорит Спаситель призванному к таинственному жречеству, купити от Мене злато разжжено огнем, да обогатишися, и одеяние бело, да облечешися, да не явится срамота наготы твоея: и коллурием слез помажи чувственные очи твои и очи ума, да видиши. Аз, ихже люблю, обличаю и наказую. Ревнуй убо и покайся<sup title="515">❊</sup>. Покаяние и все, из чего оно составляется, как то: сокрушение или болезнование духа, плач сердца, слезы, самоосуждение, памятование и предощущение смерти, суда Божия и вечных мук, ощущение присутствия Божия, страх Божий, — суть дары Божии, дары великой цены, дары первоначальные и основные, залоги даров высших и вечных. Без предварительного получения их подаяние последующих даров невозможно. «Как бы ни возвышенны были наши подвиги, — сказал святой Иоанн Лествичник, — но если мы не стяжали болезнующего сердца, то эти подвиги и ложны и тщетны»<sup title="516">❊</sup>.</p> ===== <p style="text-align:justify;">514. В подлиннике сказано: «Аще кто мечтает высокая со мнением доспети». Здесь употреблено объяснительное выражение, чтобы отчетливее показать значение слова мнение. </p> <p style="text-align:justify;">515. Советую тебе купить у Меня золото, огнем очищенное, чтобы тебе обогатиться, и белую одежду, чтобы одеться и чтобы не видна была срамота наготы твоей, и глазною мазью помажь глаза твои, чтобы видеть. Кого Я люблю, тех обличаю и наказываю. Итак, будь ревностен и покайся (Откр. 3:18–19).</p> <p style="text-align:justify;">516. Лествица. Слово 7.</p>
-
Move at the very beginning of
File_C.txt
( IMPORTANT ) -
Open the Replace dialog (
Ctrl + H
) -
Uncheck all box options
-
SEARCH
(?x-i) ( <sup \x20 title=" ) ( \d+ ) (?= "> (?s) .+ ^ ===+ .+? > \2 \. \x20 ( .+? ) \R* </p> ) | (?s) ^ === .+
-
REPLACE
\1\3
-
Select the
Regular expression
search mode -
Click on the
Replace All
button
This regex S/R substitute each string
"<sup title="###">
with the string"<sup title="
followed with the corresponding text, located after the line of=
signsAnd here is your expected OUTPUT
File_C.txt
text :<p style="text-align:justify;"><i>Старец.</i>Все виды бесовской прелести, которым подвергается подвижник молитвы, возникают из того, что в основание молитвы не положено покаяние, что покаяние не сделалось источником, душою, целию молитвы. «Если кто, — говорит преподобный Григорий Синаит в вышеприведенной статье, — с самонадеянностию, основанною на самомнении<sup title="В подлиннике сказано: «Аще кто мечтает высокая со мнением доспети». Здесь употреблено объяснительное выражение, чтобы отчетливее показать значение слова мнение.">❊</sup>, мечтает достигнуть в высокие молитвенные состояния и стяжал ревность не истинную, а сатанинскую, того диавол удобно опутывает своими сетями, как своего служителя». Всякий, усиливающийся взойти на брак Сына Божия не в чистых и светлых одеждах, устраиваемых покаянием, а прямо в своем рубище, в состоянии ветхости, греховности и самообольщения, извергается вон, во тьму кромешную: в бесовскую прелесть. Совещаю тебе, говорит Спаситель призванному к таинственному жречеству, купити от Мене злато разжжено огнем, да обогатишися, и одеяние бело, да облечешися, да не явится срамота наготы твоея: и коллурием слез помажи чувственные очи твои и очи ума, да видиши. Аз, ихже люблю, обличаю и наказую. Ревнуй убо и покайся<sup title="Советую тебе купить у Меня золото, огнем очищенное, чтобы тебе обогатиться, и белую одежду, чтобы одеться и чтобы не видна была срамота наготы твоей, и глазною мазью помажь глаза твои, чтобы видеть. Кого Я люблю, тех обличаю и наказываю. Итак, будь ревностен и покайся (Откр. 3:18–19).">❊</sup>. Покаяние и все, из чего оно составляется, как то: сокрушение или болезнование духа, плач сердца, слезы, самоосуждение, памятование и предощущение смерти, суда Божия и вечных мук, ощущение присутствия Божия, страх Божий, — суть дары Божии, дары великой цены, дары первоначальные и основные, залоги даров высших и вечных. Без предварительного получения их подаяние последующих даров невозможно. «Как бы ни возвышенны были наши подвиги, — сказал святой Иоанн Лествичник, — но если мы не стяжали болезнующего сердца, то эти подвиги и ложны и тщетны»<sup title="Лествица. Слово 7.">❊</sup>.</p>
BR
guy038
-
-
-
Hi, @v-melnik and All,
BTW, if do not need to include the final
.
, in the<sup title.........>
zone :I mean :
<sup title="Лествица. Слово 7">
( instead of<sup title="Лествица. Слово 7.">
)Use the following search regex :
SEARCH
(?x-i) ( <sup \x20 title=" ) ( \d+ ) (?= "> (?s) .+ ^ ===+ .+? > \2 \. \x20 ( .+? ) \. \R* </p> ) | (?s) ^ === .+
BR
guy038
-
-
This post is deleted! -
This post is deleted!