Python 将HTML表转换为JSON

Python 将HTML表转换为JSON,python,html,json,beautifulsoup,html-table,Python,Html,Json,Beautifulsoup,Html Table,我正在尝试将通过BeautifulSoup提取的表转换为JSON 到目前为止,我已经成功地隔离了所有的行,尽管我不知道如何从这里处理数据。如有任何建议,将不胜感激 [<tr><td><strong>Balance</strong></td><td><strong>$18.30</strong></td></tr>, <tr><td>Card name&

我正在尝试将通过BeautifulSoup提取的表转换为JSON

到目前为止,我已经成功地隔离了所有的行,尽管我不知道如何从这里处理数据。如有任何建议,将不胜感激

[<tr><td><strong>Balance</strong></td><td><strong>$18.30</strong></td></tr>, 
<tr><td>Card name</td><td>Name</td></tr>, 
<tr><td>Account holder</td><td>NAME</td></tr>, 
<tr><td>Card number</td><td>1234</td></tr>, 
<tr><td>Status</td><td>Active</td></tr>]
这给了我以下的结果:

[
 [u'Card balance', u'$18.30'],
 [u'Card name', u'NAMEn'],
 [u'Account holder', u'NAME'],
 [u'Card number', u'1234'],
 [u'Status', u'Active']
]

您的数据可能类似于:

html_data = """
<table>
  <tr>
    <td>Card balance</td>
    <td>$18.30</td>
  </tr>
  <tr>
    <td>Card name</td>
    <td>NAMEn</td>
  </tr>
  <tr>
    <td>Account holder</td>
    <td>NAME</td>
  </tr>
  <tr>
    <td>Card number</td>
    <td>1234</td>
  </tr>
  <tr>
    <td>Status</td>
    <td>Active</td>
  </tr>
</table>
"""
要将结果转换为JSON,如果不关心顺序:

import json
print json.dumps(dict(table_data))
结果:

{
    "Status": "Active",
    "Card name": "NAMEn",
    "Account holder":
    "NAME", "Card number": "1234",
    "Card balance": "$18.30"
}
如果您需要相同的订单,请使用以下命令:

from collections import OrderedDict
import json
print json.dumps(OrderedDict(table_data))
这给了你:

{
    "Card balance": "$18.30",
    "Card name": "NAMEn",
    "Account holder": "NAME",
    "Card number": "1234",
    "Status": "Active"
}

非常感谢,我得到了一个错误,这是由于服务器的响应中的一些字符的编码,一旦我发现你的答案工作完美。再次感谢,祝你有一个美好的一天。
from collections import OrderedDict
import json
print json.dumps(OrderedDict(table_data))
{
    "Card balance": "$18.30",
    "Card name": "NAMEn",
    "Account holder": "NAME",
    "Card number": "1234",
    "Status": "Active"
}