在 Pandas DataFrame 中加载 .txt 文件,文本之间有分隔线。
Load .txt files in Pandas DataFrame with separator line in between text.
我有一个包含如下文本的文本文件:
--------------------------------
I hate apples and love oranges.
He likes to ride bike.
--------------------------------
--------------------------------
He is a man of honour.
She loves to travel.
--------------------------------
我想在 pandas 数据框中加载此 txt 文件,每行仅包含分隔符之间的内容。例如:
第 1 行应如下所示:
我讨厌苹果,喜欢橘子。
他喜欢骑自行车。
第 2 行应该是这样的:
他是一个有尊严的人。
她喜欢旅行。
看来您需要对文本进行预处理。
尝试:
import pandas as pd
res = []
temp = []
with open(filename) as infile:
for line in infile:
val = line.strip()
if val:
if not val.startswith("-"):
temp.append(val)
else:
if temp:
res.append(" ".join(temp))
temp = []
df = pd.DataFrame(res, columns=["Test"])
print(df)
输出:
Test
0 I hate apples and love oranges. He likes to ri...
1 He is a man of honour. She loves to travel.
我有一个包含如下文本的文本文件:
--------------------------------
I hate apples and love oranges.
He likes to ride bike.
--------------------------------
--------------------------------
He is a man of honour.
She loves to travel.
--------------------------------
我想在 pandas 数据框中加载此 txt 文件,每行仅包含分隔符之间的内容。例如:
第 1 行应如下所示: 我讨厌苹果,喜欢橘子。 他喜欢骑自行车。
第 2 行应该是这样的: 他是一个有尊严的人。 她喜欢旅行。
看来您需要对文本进行预处理。
尝试:
import pandas as pd
res = []
temp = []
with open(filename) as infile:
for line in infile:
val = line.strip()
if val:
if not val.startswith("-"):
temp.append(val)
else:
if temp:
res.append(" ".join(temp))
temp = []
df = pd.DataFrame(res, columns=["Test"])
print(df)
输出:
Test
0 I hate apples and love oranges. He likes to ri...
1 He is a man of honour. She loves to travel.