BeautifulSoup Python 到数据框

我正在尝试将抓取的数据转换为 pd 数据帧(表)。信息通过beautifulsoup从不同标签(a、span、div)中检索。对于soup_level1.find('ul', {'class':"fix3"}) 中的ul:


divjt=ul.find('div',{'class':"topb"})

a=divjt.find('a')

trajectory=a.text.strip()

divloc=ul.find('div',{'class':"under"})

d=divloc.find('div')

sp=ul.find('span',{'class':"blk"})

object=sp.text.strip()

try: 

    sas=ul.find_all('span',{'class':"f1"}) 

    timex=sas[0].text 

except IndexError: 

    timex=''

datalist.append[jobtitle,city,timex]

headers=['Traj', 'Object', 'Time']

A=[trajectory]

B=[object]

C=[timex]

datac=A+B+C

df = pd.DataFrame(datac)


print(df) 

我现在得到的结果是


 0

0  BRD - TWD

1                          MER

2                         11/10/2018

                                                   0

0  SFX - NYT

1                                               MER

2                                        10/05/2016

                  0

0  GER - BEN

1              MER

2             05/06/2016

我基本上想将这些结果“转储”在一个适当的数据帧表中,其中每一行都被打印出来以相应地表现出色。


0  BRD - TWD    MER    11/10/2018

1  SFX - NYT    MER    10/05/2016

2  GER - BEN    MER    05/06/2016

谢谢!


BIG阳
浏览 126回答 3
3回答

慕尼黑5688855

尝试使用zip代替datac=A+B+C。喜欢zip(A, B, C)

心有法竹

如果您希望 Excel 中的数据使用 csv 格式,则可以在 excel/Libre office 中打开 csv 文件以获得所需的结果var row =  value1 + ":" + value2 + ":" + value3  ;   await fs.appendFile('file_name.csv', row + os.EOL, function (err) {    if (err) throw err;   });这就是我在 Javascript 中是如何做到的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python