Python:在巨大的文本中替换单词

2024-02-17

我有一个巨大的文本和一个大约 10K 的单词列表。 Python 中用其他单词替换文本中所有单词的最快方法是什么?

编辑: 文本大小 >1Gb,文本是人工编写的,并且“极度标记化”(任何字母数字字符和任何其他单个符号都被分割成新的标记)

单词数>10K,文本中每个词频为1 所有替换中的替换词都是相同的。 Python 2.5-2.7


输入格式和搜索/替换配对信息将有必要完善这个答案(如果它接近开始的话),但这将是我对它的初步尝试(假设输入数据中存在某种形式的规律性,在我的示例代码中以空格分隔)以下)。

replacements = {
  's1': 'r1',
  's2': 'r2'
  ...
}

with open('input.txt') as fhi, open('output.txt', 'w') as fho:
  for line in fhi:
    words = line.split(' ')

    fho.write(' '.join(map(lambda w: replacements.get(w, w), words))

    # Or as a list comprehension from the comments.
    fho.write(' '.join([replacements.get(w, w) for w in words]))

这里的想法是,我们将数据从输入文件重新定位到输出文件中。对于每行的每个单词,我们检查它是否在我们的替换字典中。如果是的话,我们检索新值,否则通过dict.get(key[, default])方法。这可能并不理想,无法处理标点符号,可能会在未断行的输入文件上遇到问题等,但可能是一种开始方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:在巨大的文本中替换单词 的相关文章

  • Google App Engine queue.yaml 无法在开发服务器中工作

    我无法让 dev appserver py 识别我使用queue yaml 创建的自定义队列 他们没有出现在http localhost 8000 taskqueue http localhost 8000 taskqueue 当我尝试向其
  • 使用 pygame 显示 unicode 符号

    我检查了其他答案 但不明白为什么我的代码错误地显示 This is what I currently see https i stack imgur com 8tNIK png 这是关于文本渲染的相关代码 font pygame font
  • python 中的并行处理

    在 python 2 7 中进行并行处理的简单代码是什么 我在网上找到的所有示例都很复杂 并且包含不必要的代码 我该如何做一个简单的强力整数分解程序 在每个核心 4 上分解 1 个整数 我真正的程序可能只需要2个核心 并且需要共享信息 我知
  • 用缺失的日期填充其他列 Nan Pandas DataFrame

    我实际上是从几个 Excel 文件中提取数据来监控我的每日卡路里摄入量 我设法使用列表理解来生成日期 我尝试使用合并或连接 但它不起作用 ValueError 您正在尝试合并对象和 float64 列 date list 2021 05 2
  • Kivy - 有所有颜色名称的列表吗?

    在 Kivy 中 小部件 color属性允许输入其值作为字符串颜色名称 也 例如在 kv file Label color red 是否有所有可能的颜色名称的列表 就在这里 来自Kivy 的文档 https kivy org doc sta
  • 检查 Python 中的可迭代对象中的所有元素的谓词是否计算为 true

    我很确定有一个常见的习语 但我无法通过谷歌搜索找到它 这是我想做的 用Java Applies the predicate to all elements of the iterable and returns true if all ev
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • Python3.0 - 标记化和取消标记化

    我正在使用类似于以下简化脚本的内容来解析较大文件中的 python 片段 import io import tokenize src foo bar src bytes src encode src io BytesIO src src l
  • Pandas:如果单元格包含特定文本则删除行

    pandas 中的这段代码不起作用 如果该列包含提供的任何文本 数字 我希望它删除该行 目前 我只能在单元格与我的代码中传递的确切文本匹配时才能使其工作 因为它只删除显示 Fin 的单元格不是金融或金融 df2 df df Team Fin
  • 一段时间后终止线程的最 Pythonic 方法

    我想在线程中运行一个进程 它正在迭代一个大型数据库表 当线程运行时 我只想让程序等待 如果该线程花费的时间超过 30 秒 我想终止该线程并执行其他操作 通过终止线程 我的意思是我希望它停止活动并优雅地释放资源 我认为最好的方法是通过Thre
  • 结构差异 sudo() run('sudo 命令')

    我想知道函数之间有什么区别sudo 和函数run sudo u user smth 文档上有 sudo 在所有运行方式上都是相同的 除了它总是换行 调用 sudo 程序中的给定命令以提供超级用户 特权 但有几次 sudo cmd 提示我输入
  • Tensorflow 与 Keras 的兼容性

    我正在使用 Python 3 6 和 Tensorflow 2 0 并且有一些 Keras 代码 import keras from keras models import Sequential from keras layers impo
  • SMTP_SSL SSLError: [SSL: UNKNOWN_PROTOCOL] 未知协议 (_ssl.c:590)

    此问题与 smtplib 的 SMTP SSL 连接有关 当与 SMTP 无 ssl 连接时 它正在工作 在 SMTP SSL 中尝试相同的主机和端口时 出现错误 该错误仅基于主机 gmail 设置也工作正常 请检查下面的示例 如果 Out
  • Matplotlib 中 x 轴标签的频率和旋转

    我在下面编写了一个简单的脚本来使用 matplotlib 生成图形 我想将 x tick 频率从每月增加到每周并轮换标签 我不知道从哪里开始 x 轴频率 我的旋转线产生错误 TypeError set xticks got an unexp
  • 使用 Keras np_utils.to_categorical 的问题

    我正在尝试将整数的 one hot 向量数组制作为 keras 将能够使用的 one hot 向量数组来拟合我的模型 这是代码的相关部分 Y train np hstack np asarray dataframe output vecto
  • SocketIO + Flask 检测断开连接

    我在这里有一个不同的问题 但意识到它可以简化为 如何检测客户端何时从页面断开连接 关闭其页面或单击链接 换句话说 套接字连接关闭 我想制作一个带有更新用户列表的聊天应用程序 并且我在 Python 上使用 Flask 当用户连接时 浏览器发
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 动态过滤 pandas 数据框

    我正在尝试使用三列的阈值来过滤 pandas 数据框 import pandas as pd df pd DataFrame A 6 2 10 5 3 B 2 5 3 2 6 C 5 2 1 8 2 df df loc df A gt 0
  • 当数据库不是 Django 模型时,是否可以使用数据库中的表?

    是否可以从应用程序数据库中的表获取查询集 该表不是应用程序中的模型 如果我有一个不是名为 cartable 的模型的表 从概念上讲 我想这样做 myqueryset cartable objects all 有没有相对简单的方法来做到这一点
  • TKinter 中的禁用/启用按钮

    我正在尝试制作一个像开关一样的按钮 所以如果我单击禁用按钮 它将禁用 按钮 有效 如果我再次按下它 它将再次启用它 我尝试了 if else 之类的东西 但没有成功 这是一个例子 from tkinter import fenster Tk

随机推荐

  • log4j2.xml中每个包的Log4J不同日志级别

    我有一个 Java Web 应用程序log4j2 xml我需要为每个包设置不同的级别 例如 com myexample firstmodule 这应该是INFO level com myexample secondmodule 这应该是TR
  • 如何在 Python 中停止打印 OpenCV 错误消息

    Same as 这个问题在这里 https stackoverflow com questions 17567808 how to suppress opencv error message 17575610 17575610 除了 Pyt
  • 使用 DOM 解析 HTML 时保留文件偏移量?

    我要修改 img src 格式不太畸形的 HTML 中的属性 WordPress 帖子 我知道我可以采取简单的方法并使用正则表达式 但我担心穿着蓝色毛茸茸的衣服的人会在我睡梦中困扰我 https meta stackexchange com
  • 如何将字符串数据框列转换为日期时间作为年和周的格式?

    样本数据 Week Price 2011 31 1 58 2011 32 1 9 2011 33 1 9 2011 34 1 9 我有一个像上面这样的数据框 我想将 周 列类型从字符串转换为日期时间 My Code data Date Ti
  • 动态郎。运行时与反射

    我计划在我的新项目中使用动态关键字 但在介入之前 我想了解使用动态关键字而不是反射的优点和缺点 在专业人士的帮助下 我可以找到关于动态关键字的信息 可读 可维护的代码 更少的代码行 虽然与使用动态关键字相关的负面影响 我听到的是 影响应用程
  • 将 django 查询集转换为数组

    我想将 django 查询集转换为数组 例如 firstnames Users objects values firstnames 得到看起来像的结果 firstnames Nancy Andrew Janet Margaret Steve
  • 以下哪个 SQL 查询会更快?两个表或连续查询的联接?

    我这里有两张桌子 ITEMS ID DETAILS OWNER USERS ID NAME Where ITEMS OWNER USERS ID 我列出了这些物品及其各自所有者的姓名 为此 我可以在两个表上使用联接 或者我可以选择所有 IT
  • Conda 报告 PackagesNotFoundError: python=3.1 for reticulate 环境

    我正在尝试在 R 中使用 python 包 但我不断收到相同的错误 ImportError cannot import name read csv from pandas unknown location 我也不能使用 py install
  • 尝试改进 haskell 中当前处理列表的丑陋代码

    我正在尝试在 Haskell 中实现一个函数 该函数将采用任意整数列表xs和一个整数k 并返回一组列表k在所有可能的位置 例如 对于一个xs 0 1 and k 2 我们会有 myFunction 0 1 2 2 0 1 0 2 1 0 1
  • 作为配置属性的不可变类型

    是否可以使用不可变类型作为 NET 配置 API 的配置属性 假设我有一个名为 MyClass 的不可变类型 public class ImmutableClass private readonly int value public Imm
  • 弹性盒| Flex 项目被推出包含 div (屏幕外)

    我正在使用弹性盒布局 https css tricks com snippets css a guide to flexbox 设置过去任务列表的样式 任务描述和时间的长度总是变化很大 一切看起来都很棒 直到输入足够长的任务描述以换行到第二
  • 查找嵌套映射中特定键的值

    在 Clojure 中 如何找到可能位于嵌套映射结构深处的键的值 例如 def m a b b c c d e e f f find nested m f gt f Clojure 提供tree seq http conj io store
  • Firebase 中一个应用程序的多个项目:如何指定 Android 包名称

    我已经在生产环境中设置了 Firebase 项目 我想为我的 firebase 应用程序创建一个开发环境 我看到有很多关于此的文档 我需要根据文档获取 google services json 要获取 google services jso
  • 客户端 (iOS) 上的 Core Data 缓存来自服务器的数据策略

    我编写了许多与后端通信的 iOS 应用程序 几乎每次 我都使用 HTTP 缓存来缓存查询并将响应数据 JSON 解析为 Objective C 对象 对于这个新项目 我想知道核心数据方法是否有意义 这是我的想法 iOS 客户端向服务器发出请
  • 如何在不创建新用户的情况下使用电话验证

    嗨 我现在正在使用本机反应 我一直面临这个问题 我想使用电话验证而不创建新用户 但我找不到我想要的东西 我尝试使用 npm react native firebase auth 和 firebase auth 我找不到它 我非常感谢你的帮助
  • 连体网络显示 ValueError

    我正在使用 Siamese 网络来实现具有不同域的 2000 个功能 我想训练相似的特征对并测试不同的特征对 当我尝试拟合模型时遇到值错误 def get siamese conv unit input encoder models Seq
  • 如何使用 jQuery / Javascript 运行浏览器命令?

    我有一页 HTML 格式 有两个按钮 保存和打印 当用户单击 打印 时 它应该打印页面并当用户单击 保存 页面时 应打开该页面的 另存为 框 首选 Javascript jQuery 解决方案 对于打印 您可以使用window print
  • 使用对象检测算法进行 SageMaker 托管 Spot 训练

    我正在尝试使用新的托管点训练功能从现有模型开始训练对象检测模型 创建估计器时使用的参数如下 od model sagemaker estimator Estimator get image uri sagemaker Session bot
  • XHTML 合规性毫无意义吗?

    我现在正在构建一个网站 到目前为止 我已经痛苦地强制所有内容都兼容 并且它在浏览器中看起来几乎相同 不过 我开始实现一些第三方 免费的 javascript 它们可以执行添加属性等操作 例如 order 2 我可以解决这个问题 但这很痛苦
  • Python:在巨大的文本中替换单词

    我有一个巨大的文本和一个大约 10K 的单词列表 Python 中用其他单词替换文本中所有单词的最快方法是什么 编辑 文本大小 gt 1Gb 文本是人工编写的 并且 极度标记化 任何字母数字字符和任何其他单个符号都被分割成新的标记 单词数