【问题标题】:How to save results into dataframe?如何将结果保存到数据框中?
【发布时间】:2019-08-30 15:41:36
【问题描述】:

我正在使用此代码: BeautifulSoup on multiple .html files 此代码将提取的文本保存到 .txt 文件中。我想将 DataFrame 中提取的每条记录保存为单独的行。

我想将结果作为“文件”作为单列保存到 DataFrame 中。如何达到同样的效果?

import glob
import os.path
from bs4 import BeautifulSoup
dir_path = r"C:\My_folder\tmp"
results_dir = r"C:\My_folder\tmp\working"

for file_name in glob.glob(os.path.join(dir_path, "*.html")):
    with open(file_name) as html_file:
        soup = BeautifulSoup(html_file)

    results_file = os.path.splitext(file_name)[0] + '.txt'
    with open(results_file, 'w') as outfile:        
        for i in soup.select('font[color="#FF0000"]'):
            print(i.text)
            outfile.write(i.text + '\n')

【问题讨论】:

标签: python


【解决方案1】:

您可以在代码的开头创建一个空数据框,然后在循环中逐行附加到它。

df = pd.DataFrame(columns=['columname'])

然后在你的循环中(在 print(i.text) 所在的地方),你可以使用:

dataframe.append(i.text))


或者一种可能性是创建一个列表,将所有 i.text 添加到列表中,然后使用以下方法将其转换为 df:

df = pd.DataFrame({'columname':created_list})

【讨论】:

  • 太棒了。非常感谢。第二个工作(created_list)
猜你喜欢
  • 2017-08-11
  • 2021-11-06
  • 2019-10-10
  • 1970-01-01
  • 2018-11-09
  • 2018-10-01
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多