python неполные данные экспортированы в CSV с использованием pandas - PullRequest
0 голосов
/ 19 июня 2020

У меня проблема с экспортом данных в csv, код работает, чтобы получить то, что мне нужно, если я конвертирую его в csv, данные будут читать только последние l oop. ниже мой код.

      import requests
      from bs4 import BeautifulSoup
      import pandas as pd

      url = 'https://e-masjid.jais.gov.my/index.php/profail?page=1'

      r = requests.get(url)
      soup = BeautifulSoup(r.text, 'html.parser')

      masjid_table = soup.find('table', id = 'pemohon')


      for table in masjid_table.find_all('tbody'):
          rows = table.find_all('tr')

          for row in rows:
              bil = row.find_all('td')[0].text.replace('\n', ' ').strip()
              nama_masjid = row.find_all('td')[1].text.replace('\n', ' 
              ').strip()
              daerah = row.find_all('td')[2].text.replace('\n', ' ').strip()
              kategori = row.find_all('td')[3].text.replace('\n', ' 
              ').strip()
              telefon = row.find_all('td')[4].text.replace('\n', ' ').strip()
              full =[bil, nama_masjid, daerah, kategori, telefon]
              print(full)

              df = pd.DataFrame(full)
              df.to_csv(r'C:\Users\KamilFizz\Desktop\1 day 1 
              programming\masjidddddddddddddddd.csv', index = False, 
              header=True)
    print (df)

результат в возвышенном текстовом редакторе, как показано ниже

 0
0                        1
1  MASJID JAMEK AR-RAHIMAH
2            Hulu Selangor
3                    Jamek
4             03-6065 1285
                  0
0                 2
1  MASJID AR-RAHMAN
2    Kuala Selangor
3            Kariah
4        0193676475
                                  0
0                                 3
1  MASJID JAMEK RAJA TUN UDA SEK.16
2                          Petaling
3                             Jamek
4                       03-55109660
                   0
0                  4
1  MASJID AL-UBUDIAH
2      Hulu Selangor
3             Kariah
4        013-2416602
                                0
0                               5
1  MASJID JAMEK SULTAN ABDUL AZIZ
2                        Petaling
3                          Kariah
4                      0166602251
                               0
0                              6
1  MASJID MAKMURIAH SUNGAI BESAR
2                   Sabak Bernam
3                         Kariah
4                    03-32244995
                      0
0                     7
1  MASJID NIGEL GARDNER
2         Hulu Selangor
3                Kariah
4           019-3085214
                 0
0                8
1  MASJID AL EHSAN
2            Klang
3           Kariah
4      019-2565958
                       0
0                      9
1  MASJID JAMIUL HASANAT
2         Kuala Selangor
3                 Kariah
4            012-9446067
                         0
0                       10
1  MASJID NAHDHAH AL-ISLAM
2                 Petaling
3                   Kariah
4              019-9421604
                 0
0               11
1  MASJID AT-TAQWA
2    Hulu Selangor
3           Kariah
4      013-3623314
                              0
0                            12
1  MASJID AL-HIDAYAH SEKSYEN 18
2                      Petaling
3                        Kariah
4                    0193719318
                    0
0                  13
1  MASJID NURUL ISLAM
2      Kuala Selangor
3              Kariah
4         017-6162732
                   0
0                 14
1  MASJID NURUL AMIN
2              Klang
3             Kariah
4         0333732652
                     0
0                   15
1  MASJID SUNGAI MASIN
2        Hulu Selangor
3               Kariah
4          017-2514501
                0
0              16
1  MASJID MERANTI
2          Sepang
3          Kariah
4     013-2716394
                     0
0                   17
1  MASJID AL-KHAIRIYAH
2               Gombak
3               Kariah
4          03-61855033
                   0
0                 18
1  MASJID BADLI SHAH
2       Sabak Bernam
3             Kariah
4        019-4209702
                    0
0                  19
1  MASJID AL-AZHARIAH
2            Petaling
3              Kariah
4         019-3562269
                                     0
0                                   20
1  MASJID AL-ISTIQAMAH KAYANGAN HEIGHT
2                             Petaling
3                               Kariah
4                          019-3506461

результат в excel, он показывает только это по строкам

0
20
MASJID AL-ISTIQAMAH KAYANGAN HEIGHT
Petaling
Kariah
019-3506461

любой идея, как я могу получить все данные в Excel?

Спасибо,

1 Ответ

0 голосов
/ 19 июня 2020

(1) Во-первых, вам нужно импортировать модуль pandas. Вы можете установить модуль pandas, используя метод PIP (2). Затем вы сможете создать DataFrame на основе следующего кода:

import pandas as pd

cars = {'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'],
    'Price': [22000,25000,27000,35000]
    }

df = pd.DataFrame(cars, columns= ['Brand', 'Price'])

print (df)

Теперь скажите, что вы хотите экспортировать DataFrame вы только что создали файл CSV.

В моем случае я решил экспортировать DataFrame на свой рабочий стол. Это путь, который я использовал:

r 'C: \ Users \ Ron \ Desktop \ export_dataframe.csv'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...