pythonでtheadが二つある変則的なテーブルtableをスクレイピングしたのですが
ヘッダーが二行あるデータフレームが取れてしまいました。
python
1 2import pandas as pd 3 4url=*** 5df = pd.read_html(url)
html
1<table> 2 <thead> 3 <tr> 4 <th>名前</th> 5 <th>年齢</th> 6 <th>身長</th> 7 </tr> 8 </thead> 9 <tbody> 10 <tr> 11 <td><a href="//***.html" title="内藤">内藤</a></td> 12 <td>30</td> 13 <td>165</td> 14 </tr> 15 <tr> 16 <td><a href="//***.html" title="仲里">仲里</a></td> 17 <td>29</td> 18 <td>162</td> 19 </tr> 20 <tr> 21 <td><a href="//***.html" title="中井">中井</a></td> 22 <td>26</td> 23 <td>161</td> 24 </tr> 25 </tbody> 26 <thead> 27 <tr> 28 <th>名前</th> 29 <th>年齢</th> 30 <th>身長</th> 31 </tr> 32 </thead> 33 <tbody> 34 <tr> 35 <td><a href="//***.html" title="永井">永井</a></td> 36 <td>21</td> 37 <td>157</td> 38 </tr> 39 <tr> 40 <td><a href="//***.html" title="長井">長井</a></td> 41 <td>33</td> 42 <td>152</td> 43 </tr> 44 <tr> 45 <td><a href="//***.html" title="永井">永井</a></td> 46 <td>26</td> 47 <td>154</td> 48 </tr> 49 <tr> 50 <td><a href="//***.html" title="永池">永池</a></td> 51 <td>33</td> 52 <td>164</td> 53 </tr> 54 </tbody> 55</table>
dataframe
1 名前 年齢 身長 2 名前 年齢 身長 #←2行 30 内藤 30 165.0 41 仲里 29 162.0 52 中井 26 161.0 63 永井 21 157.0 74 長井 33 152.0 85 永井 26 154.0 96 永池 33 164.0
ヘッダーの削除方法がわからず一度CSVにしてskiprowsで2行削除してヘッダーをnamesでつけ直しています。
python
1df[0].to_csv("temp.csv") 2pd.read_csv("temp.csv", skiprows=2, names=["名前","年齢","身長"])
csvなどを作らずにヘッダーを削除する方法はありますでしょうか?教えて頂けたら幸いです。
回答1件
あなたの回答
tips
プレビュー