0
これは私のコードです。forループ内のすべてのデータフレームを1つのdataframeに結合する必要があります。また、データフレームをCSVファイルに書き込む必要があります。どのように私はすべての私のデータフレームを1つのデータフレームにforループの1つ後にヘッダーなしで参加できますか?
私はあなたがto_csv
によってファイルに、ループ内で
read_html
を使用
list
に出力を追加し、
concat
によって最終
DataFrame
を作成し、最後の書き込みができると信じて
import urllib
from bs4 import BeautifulSoup
import pandas as pd
for i in range(2,636):
soup = BeautifulSoup(urllib.urlopen("https://www.wisdomjobs.com/core-java-
jobs-" + str(i), "lxml").read())
#print soup
all_tables = soup.find_all('table')
#print all_tables
A=[]
B=[]
C=[]
for right_table in all_tables:
for row in right_table.findAll("tr"):
cells = row.findAll('td')
states=row.findAll('th') #To store second column data
if len(cells)==3: #Only extract table body not heading
A.append(cells[0].find(text=True))
B.append(cells[1].find(text=True))
C.append(cells[2].find(text=True))
#print "\n Generate lists ", A, B, C
df = pd.DataFrame(A, columns=["Company and Job Title"])
df["Location"] = B
df['Posted On'] = C
df
#print '\n table', df
#df.to_csv('core_java2.csv')
with open('foo.csv', 'a') as f:
pd.concat([df], axis=1).to_csv(f, header=False)
誰か助けてください – joe
'pd.concat'を試しましたか?あなたの正確な問題は何ですか?この例は非常に複雑すぎます。それを減らしてください。 – languitar
私のコードは複数のデータフレームを提供しています。私は1つのデータフレーム – joe