gpt4 book ai didi

python - Pandas - 如何从剪贴板读取表格

转载 作者:行者123 更新时间:2023-12-01 07:55:08 25 4
gpt4 key购买 nike

我正在尝试从网页中抓取表格。

                    <tr valign="top">
<td class="doprawej bezlewej">
AT00BUWOG001
</td>

<td class="doprawej">
P
</td>
<td class="doprawej">

</td>

<td class="doprawej">
142
</td>
<td class="doprawej">
<b>BUWOG</b>
</td>
<td class="doprawej">
124&nbsp;184&nbsp;779
</td>
<td class="doprawej">
16&nbsp;019,84
</td>
<td class="doprawej">
12&nbsp;476,29
</td>
<td class="doprawej">
2018-07-31
</td>
<td class="doprawej">
H
</td>
<td class="doprawej">
1,28
</td>
<td class="doprawej">
14,00
</td>
<td class="doprawej bezprawej">
2,30
</td>
</tr>


<tr valign="top">
<td class="doprawej bezlewej">
PLBRSTM00015
</td>

<td class="doprawej">
P
</td>
<td class="doprawej">
LA
</td>

<td class="doprawej">
180
</td>
<td class="doprawej">
<b>CALATRAVA</b>
</td>
<td class="doprawej">
15&nbsp;000&nbsp;000
</td>
<td class="doprawej">
3,45
</td>
<td class="doprawej">
7,93
</td>
<td class="doprawej">
2017-03-31
</td>
<td class="doprawej">
H
</td>
<td class="doprawej">
0,44
</td>
<td class="doprawej">
0,00
</td>
<td class="doprawej bezprawej">
0,00
</td>
</tr>

我尝试了 pandas read_clipboard()但我得到的结果是某一列中的数据最终出现在不同的列中,因为表中有一些空列。

           ISIN Market Segment    ...             PBV    PE  Div Yield
0 PLNFI0600010 P LA ... 2018-12-31 H 0,14
1 PLNFI0800016 P 141 ... H 0,55 160,00
2 PL11BTS00015 P 650 ... J 9,44 22,60
3 PL4FNMD00013 P 641 ... H 1,25 6,80
4 PLABCDT00014 R 612 ... H 0,94 0,00
5 PLABMSD00015 P 411 ... 0,00 0,00 0,00
6 PLAB00000019 P 612 ... H 0,39 5,10
7 PLACSA000014 P 541 ... J 4,20 13,00
8 PLACTIN00018 P 612 ... H 0,51 0,00
9 PLADVIV00015 P 720 ... H 2,07 0,00

我可以在 read_clipboard() 中设置一些属性,以便一行数据始终具有与 HTML 中相同的长度吗?数据最终出现在右列中?

最佳答案

我试过 read_html 方法并添加<table></table>手动包装。

但是你可以使用这个:

from BeautifulSoup import BeautifulSoup
html = "..."
soup = BeautifulSoup(html)
print soup.prettify()
<小时/>

这是我尝试过的:

html="""<table><tr valign="top">
<td class="doprawej bezlewej">
AT00BUWOG001
</td>

<td class="doprawej">
P
</td>
<td class="doprawej">

</td>

<td class="doprawej">
142
</td>
<td class="doprawej">
<b>BUWOG</b>
</td>
<td class="doprawej">
124&nbsp;184&nbsp;779
</td>
<td class="doprawej">
16&nbsp;019,84
</td>
<td class="doprawej">
12&nbsp;476,29
</td>
<td class="doprawej">
2018-07-31
</td>
<td class="doprawej">
H
</td>
<td class="doprawej">
1,28
</td>
<td class="doprawej">
14,00
</td>
<td class="doprawej bezprawej">
2,30
</td>
</tr>


<tr valign="top">
<td class="doprawej bezlewej">
PLBRSTM00015
</td>

<td class="doprawej">
P
</td>
<td class="doprawej">
LA
</td>

<td class="doprawej">
180
</td>
<td class="doprawej">
<b>CALATRAVA</b>
</td>
<td class="doprawej">
15&nbsp;000&nbsp;000
</td>
<td class="doprawej">
3,45
</td>
<td class="doprawej">
7,93
</td>
<td class="doprawej">
2017-03-31
</td>
<td class="doprawej">
H
</td>
<td class="doprawej">
0,44
</td>
<td class="doprawej">
0,00
</td>
<td class="doprawej bezprawej">
0,00
</td>
</tr></table>"""

df= pd.read_html(html, header=None)[0]
print(df)
<小时/>

输出是:

             0  1    2    3          4            5          6          7   \
0 AT00BUWOG001 P NaN 142 BUWOG 124 184 779 16 019,84 12 476,29
1 PLBRSTM00015 P LA 180 CALATRAVA 15 000 000 345 793

8 9 10 11 12
0 2018-07-31 H 128 1400 230
1 2017-03-31 H 44 0 0

关于python - Pandas - 如何从剪贴板读取表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56024709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com