0
我一直在將Python Beautifulsoup輸出寫入Pandas CSV文件時遇到問題。作爲最終的輸出結果,我希望hreff
和year2
位於各自具有多行的獨立列上。但問題是,既link
和year
給我一個新的列表,每一個新的生產線,所以我得到這樣的事情,當我打印出來他們中的一個,例如year2
:無法使用熊貓編寫Beautifulsoup4輸出到csv
['2001']
['2002'] etc...
但我想它是這樣的:
['2001', '2002'] So that I could use it properly in a dataframe. (I Guess)
代碼本身看起來是這樣的:
for link in supp.find_all('div', {'class': 'poster'}):
href = link.next.next
hreff = href.get('href').splitlines()
#print(hreff)
for year in supp.find_all('div', {'class': 'data'}):
try:
year2 = year.next.next.next.next.next.next.next.next.text.splitlines()
except AttributeError:
continue
columnlist = ['year']
df = pd.DataFrame(year2, columns=columnlist)
print(df)
df.to_csv('xd.csv', mode='a', index=False)
當我打印出來與YEAR2數據框,我得到這個輸出:
year
0 2017
year
0 2010
year
0 2016
所以,我想知道你如何正確地寫兩個BS4輸出中列出了到CSV與熊貓嗎?感謝和抱歉,代碼混亂,語言不好。如果有些事情還不清楚,我會盡快修復。
你可以添加一個你正在使用的html的樣本,你究竟想要提取什麼?猜測問題是你正在for循環中創建一個新的數據框 - 你應該把所有的年份添加到列表中,然後在for循環之後從該列表中創建一個數據框。 –
意外地將此作爲答案添加,但我將複製粘貼爲註釋:我從HTML獲取所需的所有數據而沒有問題,但將它們傳遞給數據框會導致問題。目前,我正在通話,無法提供HTML代碼,但如果您仍然需要,我會稍後再試。 – murdock477
好的,我解決了它。首先,我在循環外部創建list = [],然後在for循環中追加列表,看起來好像現在可以工作!謝謝,因爲如果沒有你的幫助,我可能沒有做到! – murdock477