GNU/Linux >> Belajar Linux >  >> Linux

Mengonversi File .xlsx (ms Excel) Ke .csv Pada Baris Perintah Dengan Bidang Terpisah Titik Koma?

Saya menyadari bahwa ini tidak pertanyaan yang sepenuhnya terkait dengan unix/linux. Tetapi karena ini adalah sesuatu yang akan saya lakukan di linux, saya harap seseorang memiliki jawaban.

Saya memiliki file excel online (.xlsx ) yang diperbarui secara berkala (oleh orang lain). Saya ingin menulis skrip dan memasukkannya sebagai cronjob untuk memproses lembar excel itu. Tetapi untuk melakukan itu, saya perlu mengubahnya menjadi file teks (jadi .csv ) dengan kolom yang dipisahkan titik koma. Sayangnya, tidak dapat dipisahkan koma karena beberapa kolom memiliki koma di dalamnya. Apakah mungkin untuk melakukan konversi ini dari shell? Saya telah menginstal Open office dan saya dapat melakukan ini dengan menggunakan GUI-nya, tetapi ingin tahu apakah mungkin melakukan ini dari baris perintah. Terima kasih!

PS:Saya punya mesin Mac juga, jadi jika ada solusi yang bisa bekerja di sana, itu bagus juga.

Jawaban yang Diterima:

OpenOffice hadir dengan program unoconv untuk melakukan konversi format pada baris perintah.

unoconv -f csv filename.xlsx

Untuk persyaratan yang lebih kompleks, Anda dapat mengurai file XLSX dengan Spreadsheet::XLSX di Perl atau openpyxl di Python. Misalnya, berikut ini skrip quickie untuk mencetak lembar kerja sebagai file CSV yang dipisahkan titik koma (peringatan:belum diuji, diketik langsung di browser):

perl -MSpreadsheet::XLSX -e '
    $ = "n"; $, = ";";
    my $workbook = Spreadsheet::XLSX->new()->parse($ARGV[0]);
    my $worksheet = ($workbook->worksheets())[0];
    my ($row_min, $row_max) = $worksheet->row_range();
    my ($col_min, $col_max) = $worksheet->col_range();
    for my $row ($row_min..$row_max) {
        print map {$worksheet->get_cell($row,$_)->value()} ($col_min..$col_max);
    }
' filename.xlsx >filename.csv

Linux
  1. Tip Singkat:mengonversi gambar pada baris perintah dengan ImageMagick

  2. Bagaimana Mengonversi File Excel Menjadi File Calc Dari Baris Perintah?

  3. Sedikit trik:pilih file atau baris acak di file dengan shuf

  1. Kecilkan ukuran PDF dengan trik baris perintah ini

  2. Bagaimana cara mengubah PDF menjadi JPG dengan baris perintah di Linux?

  3. Bagaimana cara mengganti file di jar dengan baris perintah di linux?

  1. Salin dan tempel di baris perintah Linux dengan xclip

  2. Lihat file tabular seperti CSV dari baris perintah

  3. openpyxl mengonversi CSV ke EXCEL