我在将数据导出到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吗?
谢谢
答案 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‘