我想使用perl從csv文件中刪除一列,因爲我分裂「,」行,但有一些列與多個值,因此多個逗號。即每行可能有不同數量的逗號,因此很難刪除我想要刪除的列。你能幫忙嗎?閱讀csv文件與列中的多個值與Perl
1
A
回答
2
要處理CSV文件,請使用實際的csv分析器,如Text::CSV
。
這將處理用引號括起來的字段的實例,因爲它們包含逗號。
0
假設你的文件看起來像
Tudor,Vidor,10,Hapci
Szundi,Morgo,7,Szende
Kuka,"Hofeherke, alma",100,Kiralyno
Boszorkany,Herceg,9,Meselo
,你想找到第3列的總和,但在第三行,你看第2列與逗號值,以便處理使用Text::CSV
爲:
#!/usr/bin/perl
use strict;
use warnings;
use Text::CSV;
my $csv = Text::CSV->new({ sep_char => ',' });
my $file = $ARGV[0] or die "Need to get CSV file on the command line\n";
my $sum = 0;
open(my $data, '<', $file) or die "Could not open '$file' $!\n";
while (my $line = <$data>) {
chomp $line;
if ($csv->parse($line)) {
my @fields = $csv->fields();
$sum += $fields[2];
} else {
warn "Line could not be parsed: $line\n";
}
}
print "$sum\n";
如果你喜歡的名字來訪問字段的CSV文件,使用Tie:Handle::CSV
相關問題
- 1. 閱讀XML與閱讀CSV文件java
- 2. 閱讀多個CSV文件與python標題與numpy?
- 3. 閱讀多列csv閱讀
- 4. 閱讀CSV文件小寫與Python
- 5. 閱讀csv文件與filehelpers錯誤
- 6. 閱讀XML文件與多個NS
- 7. 閱讀.vtk文件與多個標量
- 8. Python。如何閱讀多個.csv文件?
- 9. 閱讀CSV文件中的所有列?
- 10. Python閱讀列中的csv文件?
- 11. 閱讀csv文件列中的異常
- 12. 閱讀時間序列csv文件與matplotlib繪圖
- 13. 閱讀CSV與unicodecsv:UnicodeDecodeError錯誤
- 14. 閱讀CSV到與Python
- 15. 閱讀csv文件
- 16. 閱讀與多個值XML文件中的一個標籤在Java中
- 17. 閱讀一個大的csv數據文件與多行的headerinfo到Matlab
- 18. 閱讀與多個標誌java的一個純文本文件
- 19. 讀一個CSV(文本)與pkgutil.get_data文件
- 20. 閱讀CSV文件,標題和多個列
- 21. 閱讀多個csv文件和更新列
- 22. Perl閱讀文本文件
- 23. 的iOS閱讀csv文件
- 24. 閱讀CSV文件的LINQ
- 25. 與xlrd閱讀.xls文件
- 26. C++多列閱讀文件
- 27. 一個Python的方式與行和列標題閱讀CSV
- 28. 閱讀與GSON庫中的JSON文件
- 29. 閱讀多個.txt文件與R中頭
- 30. perl +讀取多個csv文件+操作文件+提供output_files
好,我會嘗試使用,謝謝。 – Anmol