【发布时间】:2015-10-20 17:37:33
【问题描述】:
我在尝试从link 下方提取数据并将其正确显示在 DataFrame 中时遇到了一些问题。
下面的代码给了我想要的东西,但我认为因为链接中有几个tables 具有相同的class 名称:ReutersTabInit,返回到 DataFrame 的结果有点搞砸了。
link = r'http://www.4-traders.com/MICROSOFT-CORPORATION-4835/financials/'
soup = BeautifulSoup(requests.get(link).text, 'html.parser')
pandas_1 = pd.read_html(link, flavor='bs4', header=0, index_col=0,
attrs={'class': "ReutersTabInit"}, encoding='utf8')
代码结果
[ 2016e 2017e
Size
Capitalization 380 864 M$ -
Entreprise Value (EV) 331 350 M$ 322 831 M$, 2016e 2017e
Valuation
P/E ratio (Price / EPS) 17,5x 15,3x
Capitalization / Revenue 4,14x 3,86x
EV / Revenue 3,60x 3,27x
EV / EBITDA 9,82x 8,91x
Yield (DPS / Price) 2,74% 3,02%
Price to book (Price / BVPS) 4,56x 3,99x, 2016e 2017e
Profitability
Operating Margin (EBIT / Sales) 31,0% 32,1%
operating Leverage (Delta EBIT / Delta Sales) - 1,55x
Net Margin (Net Profit / Revenue) 23,7% 24,5%
ROA (Net Profit / Asset) 11,7% 13,1%
ROE (Net Profit / Equities) 24,8% 26,5%
Rate of Dividend 48,0% 46,4%, 2016e 2017e
Balance Sheet Analysis
CAPEX / Sales 6,52% 6,39%
Cash Flow / Sales (Taux d'autofinancement) 32,4% 34,5%
Capital Intensity (Assets / Sales) 2,03x 1,87x
Financial Leverage (Net Debt / EBITDA) -1,47x -1,60x]
如您所见,格式无处不在。我正试图让它这样显示。
期望的结果
2016e 2017e
Size
Capitalization 380 864 M$ -
Entreprise Value (EV) 331 350 M$ 322 831 M$,
2016e 2017e
Valuation
P/E ratio (Price / EPS) 17,5x 15,3x
Capitalization / Revenue 4,14x 3,86x
EV / Revenue 3,60x 3,27x
EV / EBITDA 9,82x 8,91x
Yield (DPS / Price) 2,74% 3,02%
Price to book (Price / BVPS) 4,56x 3,99x,
2016e 2017e
Profitability
Operating Margin (EBIT / Sales) 31,0% 32,1%
operating Leverage (Delta EBIT / Delta Sales) - 1,55x
Net Margin (Net Profit / Revenue) 23,7% 24,5%
ROA (Net Profit / Asset) 11,7% 13,1%
ROE (Net Profit / Equities) 24,8% 26,5%
Rate of Dividend 48,0% 46,4%,
2016e 2017e
Balance Sheet Analysis
CAPEX / Sales 6,52% 6,39%
Cash Flow / Sales (Taux d'autofinancement) 32,4% 34,5%
Capital Intensity (Assets / Sales) 2,03x 1,87x
Financial Leverage (Net Debt / EBITDA) -1,47x -1,60x]
与网站上的显示方式相同。
任何人都知道如何格式化它以显示每个表、不同的 DataFrame 或同一 DataFrame 中的每个表,但格式与网站相同?
【问题讨论】:
-
您能否为我们提供输出示例,并更清楚地说明什么不起作用以及期望的结果是什么?
-
@pausag 我已经添加了所需的结果以及有关我遇到的问题的更多信息。希望对您有所帮助!
标签: python pandas beautifulsoup