Bruni Asked: 2018-10-03 11:07:13 +0800 CST2018-10-03 11:07:13 +0800 CST 2018-10-03 11:07:13 +0800 CST 如何在命令行上将多个 CSV 文件合并为一个 ods 文件。每个原始文件一张 772 如何将多个 CSV 文件合并为一个 ods 文件,每个文件一张。我有十个 CSV 文件,我想将它们组合成一个由十张纸组成的 ods 文件,每个原始 CSV 一张。这应该在命令行上完成。 bash csv 1 个回答 Voted Best Answer glenn jackman 2018-10-03T12:58:26+08:002018-10-03T12:58:26+08:00 使用 perl: #!/usr/bin/env perl use strict; use warnings; use autodie; # CPAN modules required: use Spreadsheet::Write; use Text::CSV; my $xlsx_file = shift @ARGV; $xlsx_file .= ".xlsx" unless $xlsx_file =~ /\.xlsx$/; my $xlsx = Spreadsheet::Write->new(file => $xlsx_file); my $csv = Text::CSV->new({binary => 1}); for my $csv_file (@ARGV) { my @rows = (); open my $fh, "<:encoding(utf8)", $csv_file; while (my $row = $csv->getline($fh)) { push @rows, $row; } $csv->eof or $csv->error_diag(); close $fh; (my $sheet_name = $csv_file) =~ s/\.[^.]+$//; # strip extension $xlsx->addsheet($sheet_name); $xlsx->addrows(@rows); } $xlsx->close(); 并像这样使用它: /path/to/create_xlsx.pl file.xlsx *.csv 如果 perl 不是你的东西,谷歌搜索一下就会发现: 蟒蛇:https ://openpyxl.readthedocs.io/en/stable/ 红宝石:https ://stackoverflow.com/questions/4644341/which-gem-support-import-export-to-xlsx-file-in-ruby
使用 perl:
并像这样使用它:
如果 perl 不是你的东西,谷歌搜索一下就会发现: