从多个CSV文件中提取几种模式

约翰·吕

我是编程新手,我想为perl中的以下函数编写代码。

在每个行如下所示的csv文件中,我有几个CSV文件(1.csv,2.csv,3.csv,4.csv ...)。

<time, id1, id2, id3, filename> :

202008110100,10819066580072,2147858602,,Afile.txt
202008110110,12819066589761,,AC987678,Bfile.txt
202008110120,,8927489178,AC398761,Bfile.txt
202008110130,29274125780232,3829271910,AC119651,Cfile.txt
.
.
.
#id1,id2,id3 might be blank sometimes.

我有这样的输入:

<starttime,endtime,id1,id2,id3>:
#id1,id2,id3 might be **0**
eg):202008110105,202008110115,0,2147858602,0

如果id1id2id3= 0,忽略该值,并且只有匹配非零id

timestarttime和中提取is endtime

我期望这样的匹配输出:

1.csv:Afile.txt

以下是我写的内容,但似乎有问题...有人可以帮助我吗?

my $dir = <C:/Windows/Users/USER/Documents/Perlprogram>;
@files = ("1.csv","2.csv, 3.csv, 4.csv");

foreach $file (@files) {        
print "$file\n" if -f $file;
open(IN, "<./$file") or die("Error");
@before = <IN>;
close(IN);

@after = grep(/$greplist/, @before);
foreach $after (@after) {
print "$after\n";
}
sub after {
    $time = $_[6];
    if ($time >= $starttime and $time <=$endtime){
        open(OUT, ">>./search_result.txt");
        print($file,$_[4]);
        print(OUT $_[4]);
        close(OUT);
    }
}           
阿玛利

似乎有问题...

@files = ("1.csv","2.csv, 3.csv, 4.csv");

除语法外,第一个文件名之后的文件名未正确引用。

正如北极熊指出的那样,$greplist没有定义。假设将其设置为您所谓的输入,我们可以使用

($starttime,$endtime,$id1,$id2,$id3) = split ',', $greplist;

该程序的其余部分有些不一致。你可以@before = <IN>;

    while (<IN>)
    {
        @_ = split ','; # split the CSV line to the values
        print $_[4] if  !$id1 || $_[1] == $id1
                    and !$id2 || $_[2] == $id2
                    and !$id3 || $_[3] == $id3
                    and $starttime <= $_[0]
                    and $_[0] <= $endtime
    }

并删除foreach $file循环的其他内容

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从单个csv文件中提取多个数据文件

来自分类Dev

从Python目录中的多个CSV文件中提取特定列

来自分类Dev

linux:从文件中提取模式

来自分类Dev

从CSV文件中提取URL

来自分类Dev

从.csv文件中提取值

来自分类Dev

从 .csv 文件中提取数值

来自分类Dev

从多个CSV文件中提取信息,并在第三列中写入新的CSV文件

来自分类Dev

从多个CSV文件中提取信息,并在第三列中写入新的CSV文件

来自分类Dev

从文件中提取一种模式

来自分类Dev

从 .cpp 文件中提取与模式匹配的“if”块

来自分类Dev

使用KornShell从文件中提取正则表达式模式的多个实例

来自分类Dev

从文本文件中提取多个模式并将其保存到熊猫数据框[python]

来自分类Dev

从python中的文本文件中提取多个模式(单个def函数)

来自分类Dev

Python-从多个Zip文件中提取CSV文件并合并数据

来自分类Dev

从多个TXT文件中提取数据并在Python中创建摘要CSV文件

来自分类Dev

如何从文件中提取多个数据并将其存储在csv文件中?

来自分类Dev

如何从多个CSV文件中提取一行到一个新文件

来自分类Dev

在Perl中提取文件的多个小节

来自分类Dev

从多个json文件中提取特定文本

来自分类Dev

Python从PDF文件中提取多个文本

来自分类Dev

从多个文档文件中提取图像

来自分类Dev

在Perl中提取文件的多个小节

来自分类Dev

sas宏从多个文件中提取数据

来自分类Dev

从多个日志文件中提取信息

来自分类Dev

从多个 html 文件中提取 <tr> 值

来自分类Dev

使用GLOB,BS4从多个本地.html文件中提取元素,并写入CSV Excel

来自分类Dev

R:如何在多个csv中提取列,然后在一个文件夹中写入多个csv

来自分类Dev

从R中的csv文件中提取行

来自分类Dev

从CSV文件中提取Unicode数据

Related 相关文章

  1. 1

    从单个csv文件中提取多个数据文件

  2. 2

    从Python目录中的多个CSV文件中提取特定列

  3. 3

    linux:从文件中提取模式

  4. 4

    从CSV文件中提取URL

  5. 5

    从.csv文件中提取值

  6. 6

    从 .csv 文件中提取数值

  7. 7

    从多个CSV文件中提取信息,并在第三列中写入新的CSV文件

  8. 8

    从多个CSV文件中提取信息,并在第三列中写入新的CSV文件

  9. 9

    从文件中提取一种模式

  10. 10

    从 .cpp 文件中提取与模式匹配的“if”块

  11. 11

    使用KornShell从文件中提取正则表达式模式的多个实例

  12. 12

    从文本文件中提取多个模式并将其保存到熊猫数据框[python]

  13. 13

    从python中的文本文件中提取多个模式(单个def函数)

  14. 14

    Python-从多个Zip文件中提取CSV文件并合并数据

  15. 15

    从多个TXT文件中提取数据并在Python中创建摘要CSV文件

  16. 16

    如何从文件中提取多个数据并将其存储在csv文件中?

  17. 17

    如何从多个CSV文件中提取一行到一个新文件

  18. 18

    在Perl中提取文件的多个小节

  19. 19

    从多个json文件中提取特定文本

  20. 20

    Python从PDF文件中提取多个文本

  21. 21

    从多个文档文件中提取图像

  22. 22

    在Perl中提取文件的多个小节

  23. 23

    sas宏从多个文件中提取数据

  24. 24

    从多个日志文件中提取信息

  25. 25

    从多个 html 文件中提取 <tr> 值

  26. 26

    使用GLOB,BS4从多个本地.html文件中提取元素,并写入CSV Excel

  27. 27

    R:如何在多个csv中提取列,然后在一个文件夹中写入多个csv

  28. 28

    从R中的csv文件中提取行

  29. 29

    从CSV文件中提取Unicode数据

热门标签

归档