我是Perl的新手。我有一项任务,将行转换为大数据的列。
customers goods transportation ---------- ----- -------------- A, B, C, D rice truck E, G, D corn train ............. ..... ......... T, H, K, M, N wheat air cargo
我希望输出看起来像:
customers goods transportation ---------- ----- -------------- A rice truck B rice truck C rice truck D rice truck ............. ..... ......... N wheat air cargo
任何人都可以提供帮助。非常感谢你。
答案 0 :(得分:2)
很可能你遇到了map
function,研究它是如何工作的以及你如何构建行或列,你会得到它,祝你好运! :)
答案 1 :(得分:1)
谢谢大家。经过几个小时的尝试,我可以弄清楚如何完成我的任务。
它需要一些简单的步骤来手动干预输入和输出,
即在输入的第一列末尾添加,
并删除\
使用Excel输出的第二列。
是时候提交输出了。如果有人有更好的Perl,我感激不尽
代码来解决它。
#!/usr/bin/perl
my @records;
while (<DATA>) {
chomp;
my @columns = split ", ", $_;
push @records, \@columns;
}
foreach my $record (@records) {
foreach my $column (@{$record}) {
if (\$column != \$$record[-1]) {
print "$column\t \\$$record[-1]\n";
}
}
}
__DATA__
A, B, C, D, Rice Truck
E, G, D, Corn Train
T, H, K, M, N, Wheat Air cargo
__OUTPUT__
A \ Rice Truck
B \ Rice Truck
C \ Rice Truck
D \ Rice Truck
E \ Corn Train
G \ Corn Train
D \ Corn Train
T \ Wheat Air cargo
H \ Wheat Air cargo
K \ Wheat Air cargo
M \ Wheat Air cargo
N \ Wheat Air cargo
答案 2 :(得分:0)
我看了perl已经有很长一段时间了,但这个perl mod有什么好处吗?