python - Pandas 将文件行读取为一列
问题描述
我有一个文本文件语料库(多个 txt 文件),每个文件的结构如下:
TITLE: some title
URL: some url
META: some meta
DATE: some date
AUTHOR(S): author
TEXT: some text
如何读取文件,以便我有一个包含列(标题、url、...、文本)的数据框?谢谢!
解决方案
您可以使用re
库来解析文本,例如(regex101):
import re
import pandas as pd
df = pd.DataFrame(
[
dict(
re.findall(
r"^([A-Z][^:]+):\s*(.*?)\s*?(?=^[A-Z][^:]+:|\Z)",
open("your_file.txt", "r").read(),
flags=re.S | re.M,
)
)
]
)
print(df)
印刷:
TITLE URL META DATE AUTHOR(S) TEXT
0 some title some url some meta some date author some text
推荐阅读
- python - 如何将 JSON MySQL 列查询到字典中?
- javascript - 使用 webNavigation.onCommitted 将脚本注入网页
- r - data.table 问题:如何不覆盖原始数据框
- python-requests - 在 Python 中调用 AWS API 网关时出现 403 禁止错误
- sql - 从列返回第一个非空结果
- python - 为什么在一个大矩阵 $M$ 上的 NumPy 减法比将 $M$ 分成更小的矩阵然后减法时要慢?
- ionic-framework - 自定义 ngx-translate 加载器,接收无法设置未定义的属性“http”
- python - 如果我们已经有它的实例,如何优化相关对象的延迟加载?
- python - 使用特定列中的数据的某些条件删除数据框中的重复行
- docker - docker 启动 apache 和 neo4j 后立即退出