###前提・実現したいこと
PythonのPandasでhtmlファイル内の表データを取得したいと考えています。
###発生している問題・エラーメッセージ
表内のデータである文字列001が数字の1としてデータフレームに格納されてしまいます。
文字列001としてデータフレームに格納する方法を教えて頂けますでしょうか?
事象再現方法
①以下の/tmp/a.htmlファイルを用意する
html
1<table> 2 <thead> 3 <tr> 4 <th>a</th> 5 <th>b</th> 6 <th>c</th> 7 </tr> 8 </thead> 9 <tbody> 10 <tr> 11 <td>test</th> 12 <td>100</td> 13 <td>001</td> 14 </tr> 15 </tbody> 16</table>
②Pythonの対話操作で以下を行う。
python
1>>> import pandas 2>>> df = pandas.io.html.read_html('/tmp/a.html') 3>>> df 4[ a b c 50 test 100 1]
001が1として、データフレームに格納されます。
###試したこと
該当カラムのdtypeを確認したところ、int64になってました。
python
1>>> df[0].dtypes 2a object 3b int64 4c int64 5dtype: object 6>>>
またhtmlからthead・tbodyタグを外したら、001が文字列として読み込まれました。
事象再現方法
①以下の/tmp/b.htmlファイルを用意する
html
1<table> 2 <tr> 3 <th>a</th> 4 <th>b</th> 5 <th>c</th> 6 </tr> 7 <tr> 8 <td>test</th> 9 <td>100</td> 10 <td>001</td> 11 </tr> 12</table>
②Pythonの対話操作で以下を行う。
python
1>>> import pandas 2>>> df = pandas.io.html.read_html('/tmp/b.html') 3>>> df 4[ 0 1 2 50 a b c 61 test 100 001] 7>>> df[0].dtypes 80 object 91 object 102 object 11dtype: object 12>>>
###補足情報(言語/FW/ツール等のバージョンなど)
OS: RHEL7
Python Ver: 2.7
pandas ver: 0.18.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/02 02:23