当我将富文本格式的字符串从 Python 写入文件时,我可以重新格式化它们吗?

Posted

技术标签:

【中文标题】当我将富文本格式的字符串从 Python 写入文件时,我可以重新格式化它们吗?【英文标题】:Can I reformat rich-text-formatted strings when I write them to a file from Python? 【发布时间】:2021-10-17 01:58:25 【问题描述】:

在我当前的项目中,我从 2015 年的期刊中导入富文本格式的文件,然后截取日期并将它们上传为各种其他格式。我已经用这个富文本格式的字符串列表(我日记中的每日条目,没有日期)创建了一个 csv 和一个 sql 数据库。

最终,我想我会放弃格式化并将原始文档导入为 .txt 文件。不过,我仍然很好奇——如果我要将这些字符串带到另一个可以读取富文本的程序中,是否有一种重新格式化这些字符串的好方法?

with open("chonky-dates-2015.rtf", "r", encoding='utf-8') as file:
    txt = file.read()
    # print(txt)


    # FIND 2015
    date_end_array = txt.split("2015")

    # Remove the date from the end of 2015 (deletes everything up to the rtf that begins every date)
    dateless_array = [item.rsplit("\\f0\\b", 1)[0] for item in date_end_array]

    # # Make a CSV out of dateless_array
    # data = pd.Series(dateless_array)
    # data.to_csv("days-of-2015")

    # # Make an RTF
    with open("new-chonky.txt", "w") as newdoc:
        for item in dateless_array:
            newdoc.write(item)

【问题讨论】:

您可以使用pandoc 转换为多种格式中的任何一种,这些格式比拆分更容易(?)解析。现在字符串可能是 html 之类的东西,或者可能是重新将它们重新转换为 rtf 的开始。 pandoc 可以让你决定你想要这些字符串的格式。(或者如果你不关心粗体等,则根本没有格式......)。 【参考方案1】:

您需要一个用于 Python 的富文本解析器。幸运的是,很多已经实现。

看看rtfcre:D

【讨论】:

以上是关于当我将富文本格式的字符串从 Python 写入文件时,我可以重新格式化它们吗?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 java 邮件将富文本内容类型的邮件发送到 Outlook

从集群将整数/字符串写入 pyspark 中的文本文件

将富文本和图像从一个文档复制到另一个文档的 MIME

将富文本数据从 Access 传输到 Word

从列表中的对象中删除字节顺序标记

写入文本文件,二进制与 ascii