Retrieve the numbering of a paragraph object with style “Paragraph List” The Next CEO of Stack OverflowHow do I check if a list is empty?Finding the index of an item given a list containing it in PythonDifference between append vs. extend list methods in PythonHow to make a flat list out of list of lists?How do I get the number of elements in a list in Python?How do I concatenate two lists in Python?Determine the type of an object?How to clone or copy a list?How do I list all files of a directory?How to read a file line-by-line into a list?

Was a professor correct to chastise me for writing "Prof. X" rather than "Professor X"?

How to get regions to plot as graphics

Go Pregnant or Go Home

What can we do to stop prior company from asking us questions?

Horror movie/show or scene where a horse creature opens its mouth really wide and devours a man in a stables

Should I tutor a student who I know has cheated on their homework?

How easy is it to start Magic from scratch?

Inappropriate reference requests from Journal reviewers

Increase performance creating Mandelbrot set in python

Does the Brexit deal have to be agreed by both Houses?

Robert Sheckley short story about vacation spots being overwhelmed

Trouble understanding the speech of overseas colleagues

How to start emacs in "nothing" mode (`fundamental-mode`)

When Does an Atlas Uniquely Define a Manifold?

Why didn't Khan get resurrected in the Genesis Explosion?

Does it take more energy to get to Venus or to Mars?

Is it safe to use c_str() on a temporary string?

How to make a variable always equal to the result of some calculations?

What does this shorthand mean?

If the heap is initialized for security, then why is the stack uninitialized?

Why did we only see the N-1 starfighters in one film?

How should I support this large drywall patch?

Whats the best way to handle refactoring a big file?

How do I get the green key off the shelf in the Dobby level of Lego Harry Potter 2?



Retrieve the numbering of a paragraph object with style “Paragraph List”



The Next CEO of Stack OverflowHow do I check if a list is empty?Finding the index of an item given a list containing it in PythonDifference between append vs. extend list methods in PythonHow to make a flat list out of list of lists?How do I get the number of elements in a list in Python?How do I concatenate two lists in Python?Determine the type of an object?How to clone or copy a list?How do I list all files of a directory?How to read a file line-by-line into a list?










0















I think the title is pretty much self explanatory. The following piece of code omits the numbering in cases where the paragraph is of type "ListParagraph":



import docx
doc = docx.Document('test.docx')
for para in doc.paragraphs:
print(para.text)


To infer the numbering, what I understand is that one has to go to the document.xml and cross-correlate that with numbering.xml. So, using python-docx we can say that



numId_val = para._element.pPr.numPr.numId.val


gives you access to the numbering style id. Then the call



para._element.pPr.numPr.ilvl.val


gives you access to the numbering level, counting from 0.



Then one can in principle construct a recursive algorithm to infer the numbering, based on the sequence of numId_vals and ilvls.



I found however that this will not work in extracting the correct numbering if the author has customised her list to start with, e.g., a decimal number which is not simply the following integer.



Is there a correct and more robust solution?



Thanks so much for your help - this has busted my brain for a while now.










share|improve this question




























    0















    I think the title is pretty much self explanatory. The following piece of code omits the numbering in cases where the paragraph is of type "ListParagraph":



    import docx
    doc = docx.Document('test.docx')
    for para in doc.paragraphs:
    print(para.text)


    To infer the numbering, what I understand is that one has to go to the document.xml and cross-correlate that with numbering.xml. So, using python-docx we can say that



    numId_val = para._element.pPr.numPr.numId.val


    gives you access to the numbering style id. Then the call



    para._element.pPr.numPr.ilvl.val


    gives you access to the numbering level, counting from 0.



    Then one can in principle construct a recursive algorithm to infer the numbering, based on the sequence of numId_vals and ilvls.



    I found however that this will not work in extracting the correct numbering if the author has customised her list to start with, e.g., a decimal number which is not simply the following integer.



    Is there a correct and more robust solution?



    Thanks so much for your help - this has busted my brain for a while now.










    share|improve this question


























      0












      0








      0








      I think the title is pretty much self explanatory. The following piece of code omits the numbering in cases where the paragraph is of type "ListParagraph":



      import docx
      doc = docx.Document('test.docx')
      for para in doc.paragraphs:
      print(para.text)


      To infer the numbering, what I understand is that one has to go to the document.xml and cross-correlate that with numbering.xml. So, using python-docx we can say that



      numId_val = para._element.pPr.numPr.numId.val


      gives you access to the numbering style id. Then the call



      para._element.pPr.numPr.ilvl.val


      gives you access to the numbering level, counting from 0.



      Then one can in principle construct a recursive algorithm to infer the numbering, based on the sequence of numId_vals and ilvls.



      I found however that this will not work in extracting the correct numbering if the author has customised her list to start with, e.g., a decimal number which is not simply the following integer.



      Is there a correct and more robust solution?



      Thanks so much for your help - this has busted my brain for a while now.










      share|improve this question
















      I think the title is pretty much self explanatory. The following piece of code omits the numbering in cases where the paragraph is of type "ListParagraph":



      import docx
      doc = docx.Document('test.docx')
      for para in doc.paragraphs:
      print(para.text)


      To infer the numbering, what I understand is that one has to go to the document.xml and cross-correlate that with numbering.xml. So, using python-docx we can say that



      numId_val = para._element.pPr.numPr.numId.val


      gives you access to the numbering style id. Then the call



      para._element.pPr.numPr.ilvl.val


      gives you access to the numbering level, counting from 0.



      Then one can in principle construct a recursive algorithm to infer the numbering, based on the sequence of numId_vals and ilvls.



      I found however that this will not work in extracting the correct numbering if the author has customised her list to start with, e.g., a decimal number which is not simply the following integer.



      Is there a correct and more robust solution?



      Thanks so much for your help - this has busted my brain for a while now.







      python python-docx






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 8 at 13:20









      glibdud

      5,68921731




      5,68921731










      asked Mar 8 at 13:11









      AlexAlex

      456




      456






















          0






          active

          oldest

          votes












          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55063931%2fretrieve-the-numbering-of-a-paragraph-object-with-style-paragraph-list%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55063931%2fretrieve-the-numbering-of-a-paragraph-object-with-style-paragraph-list%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme

          Identity Server 4 is not redirecting to Angular app after login2019 Community Moderator ElectionIdentity Server 4 and dockerIdentityserver implicit flow unauthorized_clientIdentityServer Hybrid Flow - Access Token is null after user successful loginIdentity Server to MVC client : Page Redirect After loginLogin with Steam OpenId(oidc-client-js)Identity Server 4+.NET Core 2.0 + IdentityIdentityServer4 post-login redirect not working in Edge browserCall to IdentityServer4 generates System.NullReferenceException: Object reference not set to an instance of an objectIdentityServer4 without HTTPS not workingHow to get Authorization code from identity server without login form

          2005 Ahvaz unrest Contents Background Causes Casualties Aftermath See also References Navigation menue"At Least 10 Are Killed by Bombs in Iran""Iran"Archived"Arab-Iranians in Iran to make April 15 'Day of Fury'"State of Mind, State of Order: Reactions to Ethnic Unrest in the Islamic Republic of Iran.10.1111/j.1754-9469.2008.00028.x"Iran hangs Arab separatists"Iran Overview from ArchivedConstitution of the Islamic Republic of Iran"Tehran puzzled by forged 'riots' letter""Iran and its minorities: Down in the second class""Iran: Handling Of Ahvaz Unrest Could End With Televised Confessions""Bombings Rock Iran Ahead of Election""Five die in Iran ethnic clashes""Iran: Need for restraint as anniversary of unrest in Khuzestan approaches"Archived"Iranian Sunni protesters killed in clashes with security forces"Archived