Writing data on separate rows in csv file in python












0















I want to extract news headlines from Hindustantimes.com. I have the following code but i get the data in different columns in the same row. I want each news on separate line. Can anyone please help me. Thanks in advance. Here is my code:



import requests
import bs4
import csv
res=requests.get('https://www.hindustantimes.com')
soup=bs4.BeautifulSoup(res.text,'lxml')

x=
for i in soup.select('div.subhead4'):
x.append(i.text)

for i in soup.select('div.bigstory-mid-h3'):
x.append(i.text)

for i in x:
print(i)

with open('newz.csv','w') as cF:
wr = csv.writer(cF)
wr.writerow(x)









share|improve this question





























    0















    I want to extract news headlines from Hindustantimes.com. I have the following code but i get the data in different columns in the same row. I want each news on separate line. Can anyone please help me. Thanks in advance. Here is my code:



    import requests
    import bs4
    import csv
    res=requests.get('https://www.hindustantimes.com')
    soup=bs4.BeautifulSoup(res.text,'lxml')

    x=
    for i in soup.select('div.subhead4'):
    x.append(i.text)

    for i in soup.select('div.bigstory-mid-h3'):
    x.append(i.text)

    for i in x:
    print(i)

    with open('newz.csv','w') as cF:
    wr = csv.writer(cF)
    wr.writerow(x)









    share|improve this question



























      0












      0








      0








      I want to extract news headlines from Hindustantimes.com. I have the following code but i get the data in different columns in the same row. I want each news on separate line. Can anyone please help me. Thanks in advance. Here is my code:



      import requests
      import bs4
      import csv
      res=requests.get('https://www.hindustantimes.com')
      soup=bs4.BeautifulSoup(res.text,'lxml')

      x=
      for i in soup.select('div.subhead4'):
      x.append(i.text)

      for i in soup.select('div.bigstory-mid-h3'):
      x.append(i.text)

      for i in x:
      print(i)

      with open('newz.csv','w') as cF:
      wr = csv.writer(cF)
      wr.writerow(x)









      share|improve this question
















      I want to extract news headlines from Hindustantimes.com. I have the following code but i get the data in different columns in the same row. I want each news on separate line. Can anyone please help me. Thanks in advance. Here is my code:



      import requests
      import bs4
      import csv
      res=requests.get('https://www.hindustantimes.com')
      soup=bs4.BeautifulSoup(res.text,'lxml')

      x=
      for i in soup.select('div.subhead4'):
      x.append(i.text)

      for i in soup.select('div.bigstory-mid-h3'):
      x.append(i.text)

      for i in x:
      print(i)

      with open('newz.csv','w') as cF:
      wr = csv.writer(cF)
      wr.writerow(x)






      python csv beautifulsoup python-requests






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 21 '18 at 23:48









      user3471881

      1,2042720




      1,2042720










      asked Nov 21 '18 at 20:58









      Shubh9718Shubh9718

      1




      1
























          3 Answers
          3






          active

          oldest

          votes


















          4














          writerow takes an iterable to write:



          writerow(['a', 'b', 'c'])
          -> a,b,c


          Also, you don't need to append the data to a list before you write.



          stories = soup.select('div.subhead4') + soup.select('div.bigstory-mid-h3')

          with open('output.csv', 'w') as f:
          writer = csv.writer(f)
          for headline in stories:
          writer.writerow([headline.text.strip()])





          share|improve this answer


























          • This makes more sense than doing the other code. Nice work!

            – Kamikaze_goldfish
            Nov 21 '18 at 21:37



















          1














          res = requests.get('https://www.hindustantimes.com')
          soup = bs4.BeautifulSoup(res.text,'lxml')

          x=
          for i in soup.select('div.subhead4'):
          x.append(i.text.strip())

          for i in soup.select('div.bigstory-mid-h3'):
          x.append(i.text.strip())


          with open('newz.csv','w') as cF:
          wr = csv.writer(cF)
          for i in x:
          wr.writerow([i])





          share|improve this answer































            0














            it simple .csv file, here without using csv module



            with open('newz.csv','w') as cF:
            for x in soup.select('.subhead4 a'):
            cF.write(x.text + 'n')





            share|improve this answer























              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%2f53420393%2fwriting-data-on-separate-rows-in-csv-file-in-python%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              4














              writerow takes an iterable to write:



              writerow(['a', 'b', 'c'])
              -> a,b,c


              Also, you don't need to append the data to a list before you write.



              stories = soup.select('div.subhead4') + soup.select('div.bigstory-mid-h3')

              with open('output.csv', 'w') as f:
              writer = csv.writer(f)
              for headline in stories:
              writer.writerow([headline.text.strip()])





              share|improve this answer


























              • This makes more sense than doing the other code. Nice work!

                – Kamikaze_goldfish
                Nov 21 '18 at 21:37
















              4














              writerow takes an iterable to write:



              writerow(['a', 'b', 'c'])
              -> a,b,c


              Also, you don't need to append the data to a list before you write.



              stories = soup.select('div.subhead4') + soup.select('div.bigstory-mid-h3')

              with open('output.csv', 'w') as f:
              writer = csv.writer(f)
              for headline in stories:
              writer.writerow([headline.text.strip()])





              share|improve this answer


























              • This makes more sense than doing the other code. Nice work!

                – Kamikaze_goldfish
                Nov 21 '18 at 21:37














              4












              4








              4







              writerow takes an iterable to write:



              writerow(['a', 'b', 'c'])
              -> a,b,c


              Also, you don't need to append the data to a list before you write.



              stories = soup.select('div.subhead4') + soup.select('div.bigstory-mid-h3')

              with open('output.csv', 'w') as f:
              writer = csv.writer(f)
              for headline in stories:
              writer.writerow([headline.text.strip()])





              share|improve this answer















              writerow takes an iterable to write:



              writerow(['a', 'b', 'c'])
              -> a,b,c


              Also, you don't need to append the data to a list before you write.



              stories = soup.select('div.subhead4') + soup.select('div.bigstory-mid-h3')

              with open('output.csv', 'w') as f:
              writer = csv.writer(f)
              for headline in stories:
              writer.writerow([headline.text.strip()])






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Nov 21 '18 at 21:39

























              answered Nov 21 '18 at 21:26









              user3471881user3471881

              1,2042720




              1,2042720













              • This makes more sense than doing the other code. Nice work!

                – Kamikaze_goldfish
                Nov 21 '18 at 21:37



















              • This makes more sense than doing the other code. Nice work!

                – Kamikaze_goldfish
                Nov 21 '18 at 21:37

















              This makes more sense than doing the other code. Nice work!

              – Kamikaze_goldfish
              Nov 21 '18 at 21:37





              This makes more sense than doing the other code. Nice work!

              – Kamikaze_goldfish
              Nov 21 '18 at 21:37













              1














              res = requests.get('https://www.hindustantimes.com')
              soup = bs4.BeautifulSoup(res.text,'lxml')

              x=
              for i in soup.select('div.subhead4'):
              x.append(i.text.strip())

              for i in soup.select('div.bigstory-mid-h3'):
              x.append(i.text.strip())


              with open('newz.csv','w') as cF:
              wr = csv.writer(cF)
              for i in x:
              wr.writerow([i])





              share|improve this answer




























                1














                res = requests.get('https://www.hindustantimes.com')
                soup = bs4.BeautifulSoup(res.text,'lxml')

                x=
                for i in soup.select('div.subhead4'):
                x.append(i.text.strip())

                for i in soup.select('div.bigstory-mid-h3'):
                x.append(i.text.strip())


                with open('newz.csv','w') as cF:
                wr = csv.writer(cF)
                for i in x:
                wr.writerow([i])





                share|improve this answer


























                  1












                  1








                  1







                  res = requests.get('https://www.hindustantimes.com')
                  soup = bs4.BeautifulSoup(res.text,'lxml')

                  x=
                  for i in soup.select('div.subhead4'):
                  x.append(i.text.strip())

                  for i in soup.select('div.bigstory-mid-h3'):
                  x.append(i.text.strip())


                  with open('newz.csv','w') as cF:
                  wr = csv.writer(cF)
                  for i in x:
                  wr.writerow([i])





                  share|improve this answer













                  res = requests.get('https://www.hindustantimes.com')
                  soup = bs4.BeautifulSoup(res.text,'lxml')

                  x=
                  for i in soup.select('div.subhead4'):
                  x.append(i.text.strip())

                  for i in soup.select('div.bigstory-mid-h3'):
                  x.append(i.text.strip())


                  with open('newz.csv','w') as cF:
                  wr = csv.writer(cF)
                  for i in x:
                  wr.writerow([i])






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 21 '18 at 21:11









                  Kamikaze_goldfishKamikaze_goldfish

                  493311




                  493311























                      0














                      it simple .csv file, here without using csv module



                      with open('newz.csv','w') as cF:
                      for x in soup.select('.subhead4 a'):
                      cF.write(x.text + 'n')





                      share|improve this answer




























                        0














                        it simple .csv file, here without using csv module



                        with open('newz.csv','w') as cF:
                        for x in soup.select('.subhead4 a'):
                        cF.write(x.text + 'n')





                        share|improve this answer


























                          0












                          0








                          0







                          it simple .csv file, here without using csv module



                          with open('newz.csv','w') as cF:
                          for x in soup.select('.subhead4 a'):
                          cF.write(x.text + 'n')





                          share|improve this answer













                          it simple .csv file, here without using csv module



                          with open('newz.csv','w') as cF:
                          for x in soup.select('.subhead4 a'):
                          cF.write(x.text + 'n')






                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Nov 21 '18 at 23:11









                          ewwinkewwink

                          12.2k22440




                          12.2k22440






























                              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%2f53420393%2fwriting-data-on-separate-rows-in-csv-file-in-python%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

                              How to change which sound is reproduced for terminal bell?

                              Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

                              Can I use Tabulator js library in my java Spring + Thymeleaf project?