我试图从URL列表中提取表格数据,并希望将所有表格保存到单个csv文件中
我是一名新的python初学者,来自非CS背景,但是我非常渴望学习同样的东西
import pandas as pd
import urllib.request
import bs4 as bs
urls = ['A', 'B','C','D',...'Z']
for url in urls:
source = urllib.request.urlopen(url).read()
soup = bs.BeautifulSoup(source,'lxml')
table = soup.find('table', class_='tbldata14 bdrtpg')
table_rows = table.find_all('tr')
data = []
for tr in table_rows:
td = tr.find_all('td')
row = [tr.text for tr in td]
data.append(row)
final_table = pd.DataFrame(data, columns=["ABC", "XYZ",...])
final_table.to_csv (r'F:\Projects\McData.csv', index = False, header=True)
在新创建的csv文件中,我从上述代码中得到的是-
ABC XYZ PQR MNL CYP ZXS
1 2 3 4 5 6
我上面的代码只从最后一个url-'Z'中获取表,正如我所检查的,它实际上是列表中最后一个url中的表
我在这里试图实现的是将URL列表中的所有表(即A到Z)放入单个csv文件中
这是一个缩进和顺序的问题
table_rows
每次通过for url in urls
循环都会被重置,因此您只会得到最后的URL值的数据。如果你想在一个最终的CSV中保存所有的URL数据,请参阅下面我所做的更改相关问题 更多 >
编程相关推荐