我有两打.csv文件,每个文件大约有一千行,它们是用Tie :: Array :: CSV创建的。现在我想每天追加一行或两行,最有效的方法是什么?如何用perl追加csv文件的行
我想我可以读取每个文件到数组中,添加我的数据,并将数组重新写入csv,但这意味着如果在覆盖过程中出现问题,则可能丢失所有数据,并且如果创建新文件,我需要找出一些系统来自动管理所有那些每天都在堆积的副本。
如果没有附加行的模块,如何手动执行正确的csv所需的所有约定和转义字符,以便可以毫无问题地将它们读回perl?
...
感谢答复,我没有足够的信誉来添加注释,直接的答案,所以我eidted原来的问题。我不担心丢失太多数据,我可以从头开始重建它,它只需要时间和人工干预,但不足以保证运行日常备份系统,认为这总是需要考虑的一点。追加行应该更容易处理时间,因为在我的机器上写入.csv到磁盘相对较慢。
以追加模式打开文件是我不知道的。通过解决方案包含$csv->print($fh, $row);
我应该通过循环来添加多条线吗?
我得提出了Perlmonks
use Tie::Array::CSV;
my $filename = 'tied.csv';
tie my @file, 'Tie::Array::CSV', $filename;
push(@file,[4,5,6]);
untie @file;
将这项工作更好的另一个解决方案?我现在没有机会测试它。
编辑。推()解决方案上面的工作魔术。考虑这个关闭。
如果您担心丢失数据,请投资备份。 –
从'perldoc -f open',出现以下文本:'如果MODE是>>,则打开该文件以进行追加,并在必要时再次创建。 –