使用熊猫将python不完整的数据导出到CSV

时间:2020-06-19 08:07:12

标签: python excel pandas csv

我在将数据导出到csv时遇到问题,代码正在努力获取所需的信息,如果我将其转换为csv,则仅数据将仅读取最后一个循环。下面是我的代码。

      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 :(得分:0)

(1)首先,您需要导入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‘