python - 从 CSV 输出制作 DataFrame

标签 python csv pandas dataframe

这是我的代码:

import requests, re, pandas, csv
from bs4 import BeautifulSoup

r=requests.get("http://www.hltv.org/?pageid=188&statsfilter=2816&offset=0")
c=r.content

table=BeautifulSoup(c,"html.parser")

for row in table.find_all('div', style=re.compile(r'width:606px;height:22px;background-color')):
    data=row.get_text(strip=True, separator=',')
    print(data)

这是抓取的输出:

5/3 17,Astralis (16),FaZe (13),inferno,IEM Katowice 2017
5/3 17,Astralis (16),FaZe (12),nuke,IEM Katowice 2017
5/3 17,Astralis (16),FaZe (12),overpass,IEM Katowice 2017
5/3 17,FaZe (16),Astralis (9),cache,IEM Katowice 2017
4/3 17,Astralis (16),Heroic (12),nuke,IEM Katowice 2017
4/3 17,Astralis (16),Heroic (12),train,IEM Katowice 2017
4/3 17,Immortals (10),FaZe (16),mirage,IEM Katowice 2017
2/3 17,Virtus.pro (14),Heroic (16),nuke,IEM Katowice 2017
2/3 17,Cloud9 (6),Natus Vincere (16),mirage,IEM Katowice 2017
2/3 17,SK (16),North (8),cbble,IEM Katowice 2017
2/3 17,Cloud9 (12),North (16),cbble,IEM Katowice 2017
2/3 17,Natus Vincere (12),Heroic (16),overpass,IEM Katowice 2017
2/3 17,Virtus.pro (16),SK (14),inferno,IEM Katowice 2017

从此输出生成 pandas.DataFrame 的好方法是什么?

最佳答案

您可以使用函数pandas.read_csv 。如果由于某种原因,您不想将字符串写入实际文件,您可以通过将字符串包装在 StringIO 中,让 pandas 认为您正在传递它。对象。

import pandas as pd
from io import StringIO

csv_string = '''
5/3 17,Astralis (16),FaZe (13),inferno,IEM Katowice 2017
5/3 17,Astralis (16),FaZe (12),nuke,IEM Katowice 2017
5/3 17,Astralis (16),FaZe (12),overpass,IEM Katowice 2017
5/3 17,FaZe (16),Astralis (9),cache,IEM Katowice 2017
4/3 17,Astralis (16),Heroic (12),nuke,IEM Katowice 2017
4/3 17,Astralis (16),Heroic (12),train,IEM Katowice 2017
4/3 17,Immortals (10),FaZe (16),mirage,IEM Katowice 2017
2/3 17,Virtus.pro (14),Heroic (16),nuke,IEM Katowice 2017
2/3 17,Cloud9 (6),Natus Vincere (16),mirage,IEM Katowice 2017
2/3 17,SK (16),North (8),cbble,IEM Katowice 2017
2/3 17,Cloud9 (12),North (16),cbble,IEM Katowice 2017
2/3 17,Natus Vincere (12),Heroic (16),overpass,IEM Katowice 2017
2/3 17,Virtus.pro (16),SK (14),inferno,IEM Katowice 2017
'''

csv_string_io = StringIO(csv_string)
frame = pd.read_csv(csv_string_file)

关于python - 从 CSV 输出制作 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42795156/

相关文章:

python - 使用 python 编写 XML 文件

python - 使用opencv检测没有眉毛和下巴的人脸

python - 从 pandas 中修改后的 csv 加载数据集

csv - 无法读取 csv 文件 Apache Zeppelin 0.8

python - 如何在通过 rpy 将 SPSS 文件(.sav)导入 pandas 时保留标签?

python-3.x - 如果文件不存在,则创建一个数据框

python - 设置期间生成常数

python - "Index Match"Excel 中的功能未在 pandas Merge 中捕获(或者是?)

python - Pandas read_csv parse_dates=true 缺少日期列

python - 如何摆脱 Pandasplot() 的额外图例条目?