Community
    • Login

    another replacement request for help

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    40 Posts 4 Posters 10.0k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Carlos J. Segnini R.C Offline
      Carlos J. Segnini R. @Ekopalypse
      last edited by

      @Ekopalypse thanks so much!
      I wish I could try it, but now I am banging my head to install the plugin, as the firewall is blocking my download… No luck today.

      EkopalypseE 1 Reply Last reply Reply Quote 0
      • EkopalypseE Offline
        Ekopalypse @Carlos J. Segnini R.
        last edited by

        @Carlos-J-Segnini-R

        :-) those network admins … :-)
        I don’t know how strict your rules are but maybe a solution would be to download it from github directly?

        Carlos J. Segnini R.C 1 Reply Last reply Reply Quote 0
        • Carlos J. Segnini R.C Offline
          Carlos J. Segnini R. @Ekopalypse
          last edited by

          @Ekopalypse said in another replacement request for help:

          @Carlos-J-Segnini-R

          :-) those network admins … :-)
          I don’t know how strict your rules are but maybe a solution would be to download it from github directly?

          Yeah, got it now. Had to write my user and password a hundred times, but it is installed. I am testing it now

          1 Reply Last reply Reply Quote 0
          • Carlos J. Segnini R.C Offline
            Carlos J. Segnini R.
            last edited by

            @Ekopalypse I want to be like you when I grow up :)
            It worked like a charm, and faster than any regex I would believe.
            Thanks so much
            Regards

            1 Reply Last reply Reply Quote 3
            • EkopalypseE Offline
              Ekopalypse
              last edited by

              I want to be like you when I grow up

              LOL - be careful with your wishes sometimes they come true :-D

              1 Reply Last reply Reply Quote 0
              • Carlos J. Segnini R.C Offline
                Carlos J. Segnini R.
                last edited by

                haha thanks.
                May I ask another question?
                What if I needed to change another field as well?
                For example in the image below:
                39e1a109-e611-4d7d-a037-6a47ecf46181-image.png
                I find the name Aery #B1H in the file but then I need to change the Welltype from Oil to Gas (Or viceversa).
                In this case the I would not be replacing the searched word (Aery #B1H), but another field occurring later in the same entry (<Welltype>Oil to Gas)
                Thanks again

                EkopalypseE 1 Reply Last reply Reply Quote 0
                • EkopalypseE Offline
                  Ekopalypse @Carlos J. Segnini R.
                  last edited by

                  @Carlos-J-Segnini-R

                  I would think this is a find/replace action.
                  Find: <UWI>Aery #B1H</UWI>\R\h*<WellType>\K.+?(?=</WellType>)
                  Replace:Gas
                  tick regular expression

                  Because of the usage of the \K syntax you can only use replace all button.

                  Carlos J. Segnini R.C 1 Reply Last reply Reply Quote 2
                  • Carlos J. Segnini R.C Offline
                    Carlos J. Segnini R. @Ekopalypse
                    last edited by

                    @Ekopalypse said in another replacement request for help:

                    \R\h

                    Thanks It works, but I would need to do one by one.
                    Again I would have a list of different names (Aery #B1H, Aery #D2H, etc) so I was looking for another magic script haha

                    EkopalypseE 1 Reply Last reply Reply Quote 0
                    • EkopalypseE Offline
                      Ekopalypse @Carlos J. Segnini R.
                      last edited by

                      @Carlos-J-Segnini-R

                      but then we would need some kind of mapping again,
                      otherwise the script does not know when to use what. :-)

                      1 Reply Last reply Reply Quote 0
                      • Carlos J. Segnini R.C Offline
                        Carlos J. Segnini R.
                        last edited by

                        So this is how the xml file looks
                        e6afaf3a-b1ef-4205-bb9c-515f61d7122f-image.png
                        <Well replace=“false”>
                        <UWI>Alexander Gas Unit 1 #2</UWI>
                        <WellType>Oil</WellType>
                        <ReserveStatusCollection>
                        <Working>
                        <PrimaryProduct>Oil</PrimaryProduct>
                        <WellResCatCollection>

                        and this is how the replacement file would be
                        7c50836c-5aa4-47e1-ac7e-26568264fb30-image.png
                        7dda6e13-179d-4e43-b772-a88ae007c825-image.png
                        Alexander Gas Unit 1 #2 Oil Gas
                        Alexander - Wessendorff 1 A3H Oil Gas
                        Alexander - Wessendorff 1 A4H Oil Gas

                        So the script would look for the first column (Well name), and then replace the word in the second column for the one in the third column:

                        <WellType>Oil</WellType> to <WellType>Gas</WellType>

                        Thanks again, you’re saving my life

                        EkopalypseE 1 Reply Last reply Reply Quote 0
                        • EkopalypseE Offline
                          Ekopalypse @Carlos J. Segnini R.
                          last edited by

                          @Carlos-J-Segnini-R

                          Is the oil column really needed?
                          I mean, does it needs to be checked or can the script always look for company and then replace whatever is in WellType with the value from the Gas column?

                          1 Reply Last reply Reply Quote 1
                          • Carlos J. Segnini R.C Offline
                            Carlos J. Segnini R.
                            last edited by Carlos J. Segnini R.

                            Edit:
                            Thinking about, no, no need for that column

                            EkopalypseE 4 Replies Last reply Reply Quote 0
                            • EkopalypseE Offline
                              Ekopalypse @Carlos J. Segnini R.
                              last edited by

                              This post is deleted!
                              1 Reply Last reply Reply Quote 0
                              • EkopalypseE Offline
                                Ekopalypse @Carlos J. Segnini R.
                                last edited by

                                @Carlos-J-Segnini-R

                                so you can get rid of the second column and the only thing we need to change is the find expression, I guess.

                                1 Reply Last reply Reply Quote 1
                                • EkopalypseE Offline
                                  Ekopalypse @Carlos J. Segnini R.
                                  last edited by

                                  @Carlos-J-Segnini-R

                                  from Npp import editor1, editor2
                                  
                                  replacements = dict(line.split('\t') for line in editor2.getText().splitlines() if line)
                                  
                                  def replace_with(m):
                                      return replacements[m.group(1)]
                                  
                                  # search_for = '(?<=<UWI>).+?(?=</UWI>)'
                                  search_for = '<UWI>(.+)</UWI>\R\h*<WellType>\K.+?(?=</WellType>)'
                                  editor1.rereplace(search_for, replace_with)
                                  
                                  1 Reply Last reply Reply Quote 2
                                  • EkopalypseE Offline
                                    Ekopalypse @Carlos J. Segnini R.
                                    last edited by

                                    @Carlos-J-Segnini-R

                                    btw. if you are interested how these regex search work see here for a pretty good description.

                                    1 Reply Last reply Reply Quote 2
                                    • Carlos J. Segnini R.C Offline
                                      Carlos J. Segnini R.
                                      last edited by

                                      Thanks again for your help.
                                      For some reason this time it isn’t working.
                                      I will try and fix it.

                                      a4f54196-4f8f-444f-a7b7-15048ba35f66-image.png

                                      EkopalypseE 1 Reply Last reply Reply Quote 0
                                      • EkopalypseE Offline
                                        Ekopalypse @Carlos J. Segnini R.
                                        last edited by

                                        @Carlos-J-Segnini-R

                                        Can you open the PythonScript console (plugin->PythonScript->Show Console) to see if there is an error?
                                        The replacement file has company and gas/oil tab separated, correct?

                                        Carlos J. Segnini R.C 1 Reply Last reply Reply Quote 0
                                        • Carlos J. Segnini R.C Offline
                                          Carlos J. Segnini R. @Ekopalypse
                                          last edited by Carlos J. Segnini R.

                                          @Ekopalypse here is the log.
                                          I think it is because not all the wells need to be changed, so the first one in the file (Aery #B1H) does not appear in the second file, so the script is stopping. I will try leaving all wells, even those that doesnt need to be changed

                                          Traceback (most recent call last):
                                          File “C:\Users\AppData\Roaming\Notepad++\plugins\Config\PythonScript\scripts\find_replace.py”, line 10, in <module>
                                          editor1.rereplace(search_for, replace_with)
                                          File “C:\Users\AppData\Roaming\Notepad++\plugins\Config\PythonScript\scripts\find_replace.py”, line 6, in replace_with
                                          return replacements[m.group(1)]
                                          KeyError: ‘Aery #B1H’

                                          And yes, the other file is separated by tabs.

                                          EkopalypseE 3 Replies Last reply Reply Quote 0
                                          • EkopalypseE Offline
                                            Ekopalypse @Carlos J. Segnini R.
                                            last edited by

                                            @Carlos-J-Segnini-R

                                            Yes, that makes sense then we need to take another approach where we
                                            create the searches based on the second list. Gimme a minute

                                            1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • First post
                                              Last post
                                            The Community of users of the Notepad++ text editor.
                                            Powered by NodeBB | Contributors