用javascript解析文本文件?或者更好的东西

parsing a text file in javascript? Or something better?

本文关键字:更好 或者 文件 javascript 文本      更新时间:2023-09-26

我想知道如何用Javascript解析文本文件并为文本文件中的每个项创建计数。例如,包含以下内容的文本文件:

苹果
橙色
香蕉
苹果
苹果

我想收集的输出是这样的:

苹果3
橙色1
香蕉1
桃1

Javascript可能不是最好的,因为它实际上有数百万行像这样。我可以在PHP之类的其他软件中完成,并将结果存储在MySQL中。我想在项目添加到文件中时运行此例程,并在每次运行后快照结果以进行历史比较。

实现这一目标的最佳方法是什么?

这听起来像是为数据库工作。您可以以毫秒为单位计算数据库表中的项,而使用编译的代码解析文本文件需要几秒钟,使用客户端Javascript需要几分钟。

对项目进行分组和计数的数据库查询非常简单:

select Fruit, count(*)
from FruitTable
group by Fruit

编辑:

我在SQL Server中创建了一个包含800万条记录的测试表,上面的查询大约在三秒内运行。

这是用PHP

$string = file_get_contents ("textfile.txt");
$string_array = explode("'n",$string); foreach($string_array as $value) {
        if(isset($str_count[$value]))
                $str_count[$value]++;
        else
                $str_count[$value]=1; } foreach($str_count as $key => $value)
        echo $key.": ".$value."<br>";

textfile.txt:

apple
orange
banana
apple
apple
peach

输出:

apple: 3
orange: 1
banana: 1
peach: 1

使用perl,例如:

#/usr/bin/perl-w严格使用;my$file=shift;我的%水果=();打开(我的$handle,"<",$file);while(已定义(my$fruit=<$handle>){咀嚼水果;$fruits{$fruit}++;}foreach my$key(排序键%水果){print"$key:",$fruits{$key},"''n";}

然后用perl fruits.pl FILENAME_TO_FRUITS_FILE 运行

最终,以上是最简单的方法,但如果您确实有数百万的条目,那么您确实应该将其移动到数据库中。任何简单的PHP/MMySQL教程都会有所帮助。