arrays - 在 CSV 中写入数组值

标签 arrays perl csv file-handling

我有一个元素数组,我需要使用 Perl 文件处理将它们存储在单独的单元格中。

foreach(@type)
{
print FH qq|"@type","@date","@loc","@title"\n|;
}

我使用上面的代码,但它只存储数组中的最后一个元素。

提前致谢。

最佳答案

如果使用foreach(@type),特殊变量$_会被一一赋值@type。在您的代码中,您没有使用变量 $_。相反,您输出 @type,即您正在迭代的数组。你可能想遍历索引,比如

for (0 .. $#type) {
    print FH qq("$type[$_]","$date[$_]","$loc[$_]","$title[$_]"\n);
}

或者,使用命名循环变量:

for my $index (0 .. $#type) {
    print FH qq("$type[$index]","$date[$index]","$loc[$index]","$title[$index]"\n);
}

请注意,如果您的列可能包含换行符或双引号,您最好使用 Text::CSV .

关于arrays - 在 CSV 中写入数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18058292/

相关文章:

c - 在c中将数组划分为子数组

javascript - JsPDF-Autotable空白行使用带有对象的数组

perl - 这些 Perl 使用行会发生什么?

linux - 我如何让 Perl 等待在后台使用 system() 启动的子进程?

multithreading - 如何共享包含文件句柄的对象?

csv - GnuPlot:每条 CSV 线画线

node.js - Nodejs 发送部分响应

c - 数组内容消失

c - 我没有得到这个 C 程序所需的输出

amazon-web-services - 如何将 CSV 文件中的批量数据导入 DynamoDB?