我正在尝试读取.txt文件,用句子分隔,并创建一个pandas数据框,其中每行有一个句子。输出将是:
0 "blah blah, blah."
1 "more blah."
2 "more more, blah."
到目前为止,我的代码用句子分隔.txt文件,但我似乎无法弄清楚如何取每个句子并将其附加到pandas数据帧。
import os
import sys
import pandas as pd
import re
with open('path/to/file.txt', 'r') as file:
for line in file:
for l in re.split(r"(\.)",line):
string += l
string += '\n'
答案 0 :(得分:1)
假设你有一个循环返回string
作为句子的列表对象,如:
["blah blah, blah.", "more blah.", "more more, blah."]
然后你需要:
pd.DataFrame(string)
但是你的循环看起来会在每行基础上拆分句子,而不是跨行。如果希望跨行捕获句子,那么应该这样做:
string = []
with open("path/to/file.txt", "r") as f:
full_text = f.read()
for l in re.split(r"(\.)", full_text):
if l != ".":
string.append(l + "\n")
pd.DataFrame(string)