【发布时间】:2021-01-02 02:14:33
【问题描述】:
我想使用 perl 读取 csv,不包括第一行。此外,col 2 和 col3 变量需要存储在另一个文件中,并且必须删除读取的行。
编辑:以下代码有效。我只想要删除部分。
use strict;
use warnings;
my ($field1, $field2, $field3, $line);
my $file = 'D:\Patching_test\ptch_file.csv';
open( my $data, '<', $file ) or die;
while ( $line = <$data> ) {
next if $. == 1;
( $field1, $field2, $field3 ) = split ',', $line;
print "$field1 : $field2 : $field3 ";
my $filename = 'D:\DB_Patch.properties';
unlink $filename;
open( my $sh, '>', $filename )
or die "Could not open file '$filename' $!";
print $sh "Patch_id=$field2\n";
print $sh "Patch_Name=$field3";
close($sh);
close($data);
exit 0;
}
【问题讨论】:
-
通过使用Text::CSV_XS Perl 模块,您可以读取CSV 文件并进行操作。请向我们展示您的代码,这将有助于人们回答您的问题。
-
已编辑代码。
-
必须删除行读取 - 这是什么意思?
-
我在属性文件中写的行必须从csv中删除
-
@Shivani 我建议您在
$filename上执行的任何操作都应在while循环之外完成,除了使用$sh文件处理程序打印内容。