我有兩打.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是>>,則打開該文件以進行追加,並在必要時再次創建。 –