标签: text-processing

使用 AWK 根据第一列合并唯一行

我正在尝试编写一个 AWK 脚本来汇总大型文本文件中的数据。结果数据的顺序很重要,所以我不能使用排序。

我尝试过 FNR==NR 的不同变体,但没有任何运气

输入文件

Height 3.5
Weight 12.3
Age 23
: 
:
Height 4.5
Weight 15.5
Age 31
:
:
Run Code Online (Sandbox Code Playgroud)

预期输出

Height 3.5 4.5
Weight 12.3 15.5
Age 23 31
Run Code Online (Sandbox Code Playgroud)

unix bash awk text-processing sed

-1
推荐指数
1
解决办法
1211
查看次数

如何在 Python 中高效地对大型文本语料库使用拼写纠正

拼写更正时请考虑以下事项:

from autocorrect import spell
import re

WORD = re.compile(r'\w+')
def reTokenize(doc):
    tokens = WORD.findall(doc)
    return tokens

text = ["Hi, welcmoe to speling.","This is jsut an exapmle, but cosnider a veri big coprus."]
def spell_correct(text):
    sptext = []
    for doc in text:
        sptext.append(' '.join([spell(w).lower() for w in reTokenize(doc)]))      
    return sptext    

print(spell_correct(text)) 
Run Code Online (Sandbox Code Playgroud)

这是上面一段代码的输出:

在此输入图像描述

如何停止在 jupyter 笔记本中显示输出?特别是如果我们有大量的文本文档,就会产生大量的输出。

我的第二个问题是:在大数据上应用时,如何提高代码的速度和准确性(例如,请检查输出中的“veri”一词)?有没有更好的方法来做到这一点?我感谢您以更快的速度做出回应和(替代)解决方案。

python text-processing spell-checking spelling

-1
推荐指数
1
解决办法
5349
查看次数

将 Text.append 映射到列表上,但在 Haskell 中首先使用列表中的参数?

基本上,我有一个列表["apple", "banana"],我想附加"|4"到列表中的每个参数,以便我最终得到["apple|4", "banana|4"].

我可以这样做map (Text.append "|4") ["apple", "banana"],但是附加的顺序错误,即结果是["|4apple", "|4banana"]

有没有好的方法告诉你Text.append朝这张地图上的另一个方向走?

text text-processing haskell functional-programming

-1
推荐指数
1
解决办法
94
查看次数

从大文本中提取 n 克

例如,我们有以下文本:

“Spark 是一个用于编写快速分布式程序的框架。Spark 解决了与 Hadoop MapReduce 类似的问题,但采用了快速的内存方法和简洁的函数式 API。......”

我需要这个文本的所有可能的部分,一字一字,然后两两,三三到五到五。像这样:

: ['Spark', 'is', 'a', 'framework', 'for', 'writing, 'fast', 'distributed', 'programs', ...]

twos : ['Spark is', 'is a', 'a framework', 'framework for', 'for writing' ...]

三:['Spark is a', 'is a framework', 'a framework for', 'framework for writing', 'for write fast', ...]

. . .

五:['Spark 是一个框架','是一个写作框架','一个快速写作的框架','一个快速分布式写作的框架',...]

请注意,要处理的文本是大文本(约 100GB)。我需要这个过程的最佳解决方案。可能应该并行处理多线程。

我不需要一次完整的列表,它可以流式传输。

python performance text-processing nlp bigdata

-2
推荐指数
1
解决办法
9468
查看次数

根据另一列值更改列

我有一个包含数百条这样的记录的文件

100,502030,0,444,RSVYU,10
101,501412,1,555,DDGTH,11
102,502269,0,222,DDERF,60
103,508877,2,111,SDEFV,23
Run Code Online (Sandbox Code Playgroud)

如果第 3列的值为0,如何将第 4列的值替换为000

我研究了很多,找不到解决方案。到目前为止我得到了这个

cat testfile.txt | sed -n -r 's/^[0-9]*,[0-9]*,0/000/p'
Run Code Online (Sandbox Code Playgroud)

但它取代了第一部分

bash awk text-processing sed

-2
推荐指数
1
解决办法
1343
查看次数