如何在某些列中按换行符(\n)拆分值,提取到新行并填充其他列

我的示例CSV数据(data.csv)

No,Email,IP,Service,Comment
1,test@email.com,192.168.10.109,FTP
HTTP
HTTPS,,
2,webmaster@email.com,192.168.10.111,SFTP
SNMP,,
3,admin@email.com,192.168.10.112,HTTP,,

在服务列中有多个值,用换行符分隔。

我想把它提取出来,然后在某些行中填充其他值,如下所示。

1,test@email.com,192.168.10.110,FTP,,
1,test@email.com,192.168.10.110,HTTP,,
1,test@email.com,192.168.10.110,HTTPS,,
2,webmaster@email.com,192.168.10.111,SFTP,,
2,webmaster@email.com,192.168.10.111,SNMP,,
3,admin@email.com,192.168.10.112,HTTP,,

我尝试使用Text::CSV进行解析,我只能拆分多个ip和服务,但我不知道如何填充上述示例中的其他值。

#!/usr/bin/perl
use Text::CSV;
my $file = "data.csv";
my @csv_value;
open my $fh, '<', $file or die "Could not open $file: $!";
my $csv = Text::CSV->new;
my $sum = 0;
open(my $data, '<:encoding(utf8)', $file) or die "Could not open '$file' $!\n";
while (my $fields = $csv->getline( $data )) {
    push @csv_value, $fields;
}
close $data;

提前感谢您能提供的任何帮助。

转载请注明出处:http://www.lishuoershouche.com/article/20230401/2367654.html

随机推荐

  1. 如何从csv数据生成二维数组?

    假设我的csv文件将获得一个二维数组,如何将它们放入$array[][]if (($handle = fopen($_SERVER[DOCUMENT_ROOT]./file.csv, r)) !== FALSE) { while (...

  2. JMeter -如何在JSR223断言中从多个csv文件中获取断言数据

    我必须使用JSR223断言断言HTTP JSON响应。验证数据存储在多个多列CSV文件中。每行对应一个包含多个字段(列)的完整对象。HTTP JSON响应可以与任何记录匹配。因此,我还需要在数据收集中执行搜索。这些文件都是大文件(所以我只想...

  3. 如何将json数据从单键转换为csv

    我正在尝试将一些数据从JSON文件转换为csv。我需要的JSON文件中的数据存在于单个键中。我使用下面的代码将数据从该键中分离出来。这为我提供了以下格式的数据:[[/s/case/50034000013ZPEoAAO$#@$00192169...

  4. 如何从具有CAN通信数据的.csv文件中绘制数据(its以4个数据点的4个数据包接收数据)

    .csv文件的格式如下所示,当它以数据包的形式获取数据时,其间有间隙。我想使用python中的matplotlib绘制x轴上的时间戳和y轴上的sensor1的数据,所以有没有可能。这是CSV文件中的数据,因此您可以看到4个数据点在不同的时间...

  5. 如何通过ASP.NET核心将数据从CSV文件导入Postgres数据库?

    我有一个网络应用程序,其中用户可以上传一些数据的CSV文件。我想将数据插入到数据库中,但将其作为事务处理;要么插入整个CSV数据,要么根本不插入。

  6. 如何从csv计算数据组的RMSE

    我是R的新手,我想计算保存在同一个.csv文件中的两组数据的均方根。.csv包含如下内容:Group X Y A 2 2 A 3 2 B 2 7 B 6 ...

  7. 如何使用talend从hive表中提取数据到csv

    我想在Talend的帮助下将数据从一个hadoop服务器传输到另一个hadoop服务器。通过我的研究,我了解到我们可以通过平面files.Can传输数据,任何人都可以建议我如何将数据从hive传输到平面文件。如果有任何使用talend传输数...

  8. 如何使用sqlcmd从SQL Server中导出CSV格式的数据?

    我可以很容易地将数据转储到文本文件中,如下所示:sqlcmd -S myServer -d myDB -E -Q select col1, col2, col3 from SomeTable -o MyData.txt复制但是,...

  9. 用MSTest进行数据驱动单元测试:如何从CSV文件中读取和验证记录?

    我使用MsTest和数据驱动的方法进行单元测试。到目前为止,我已经在我的Unit Test项目中添加了一个包含5行的Data.csv文件,我想验证并输出每个相应orgId和用户名的UserId。例如,对于组织and 80010和用户名Mal...

  10. 如何从R中的csv文件中提取json数据

    我正在尝试从R中的CSV文件中提取JSON数据。我对JSON和R都是新手,所以真的需要一些帮助。我有一个CSV文件,它有3列-2列是name和published_date。但是,第三列ratings包含JSON格式的数据。我正在尝试提取这些...