如何将python嵌套列表转换为整洁的数据框?

时间:2017-10-03 18:27:13

标签: python python-3.x dataframe pycharm

以下是我的代码。作为嵌套列表的输出是从左到右几乎无限地(不是字面上,只是隐喻)。 https://xkcd.com/538/。但这是我的问题....我之前被告知我的PyCharm被迷惑了,人们在他们的PyCharm版本中出现了截然不同的外观。我有最新的更新版本,直接开箱即用。它看起来很混乱。思考? 源代码:

from bs4 import BeautifulSoup
import requests
import pandas as pd
r = requests.post('https://opir.fiu.edu/instructor_evals/instr_eval_result.asp', data={'Term': '1175', 'Coll': 
'CBADM'})
soup = BeautifulSoup(r.text, 'lxml')


tables = [[x.text.strip() for x in y.find_all('td')] for y in soup.find_all('table')]

# This gives you a nested list. For instance,
# tables[0] # gives you the first table, in list form tables
# [1] # gives you the second table, in list form

df = pd.DataFrame(tables)
print(df)

    



1 个答案:

答案 0 :(得分:0)

就PyCharm的行为而言,使用您的代码和PyCharm 2017.2.3,我得到与视频相同的结果。

不完全确定您的问题是什么,但如果您正在寻找数据框的替代方案。

print(*tables, sep='\n')

['Term: 1175 - Summer 2017', 'Instructor Name: Elias...
['Term: 1175 - Summer 2017', 'Instructor Name: Ling,...
['Term: 1175 - Summer 2017', 'Instructor Name: Hossa...
...

[print(*table) for table in tables]

Term: 1175 - Summer 2017 Instructor Name: Elias,...
Term: 1175 - Summer 2017 Instructor Name: Ling,...
Term: 1175 - Summer 2017 Instructor Name: Hossai...
...