【问题标题】:python incomplete data exported into CSV using pandaspython使用pandas将不完整的数据导出到CSV
【发布时间】:2020-10-09 10:53:44
【问题描述】:

我在将数据导出到 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)

sublime 文本编辑器的结果如下

 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 吗?

谢谢,

【问题讨论】:

    标签: python excel pandas csv


    【解决方案1】:

    (1) 首先,您需要导入 pandas 模块。您可以使用 PIP 方法安装 pandas 模块 (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‘

    【讨论】:

    • 嗨,谢谢您的建议,我确实导入了熊猫,我能够将其提取到 csv 中,但数据并不完整。它只从我的代码中提取最后一个循环。
    猜你喜欢
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 2017-10-06
    • 1970-01-01
    • 2021-06-29
    相关资源
    最近更新 更多