我正在使用以下代码: 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')
答案 0 :(得分:0)
您可以在代码的开头创建一个空的数据框,然后在循环中逐行附加到该数据框。
df = pd.DataFrame(columns=['columname'])
然后在循环中(在当前print(i.text)所在的位置),您可以使用:
dataframe.append(i.text))
或者可能是创建一个列表,将所有i.text添加到列表中,然后使用以下命令将其转换为df:
df = pd.DataFrame({'columname':created_list})