Gambaran:
Tugas Anda adalah mengambil input CSV dalam key=value
format dan mengaturnya dengan cara yang lebih terorganisir (lihat di bawah).
Memasukkan:
Selalu via stdin . Rekaman akan selalu dalam bentuk berikut key=value
:
foo=bar,baz=quux
abc=123,foo=fubar
baz=qwe,abc=rty,zxc=uiop,foo=asdf
- Tidak akan ada daftar kunci yang mungkin di muka, Anda harus menemukannya di teks input.
- Akhir input akan ditandai oleh
EOF
, implementasi apa punEOF
yang sesuai untuk OS Anda.
Keluaran:
Baris pertama dari output Anda akan menjadi daftar semua kunci, dalam urutan abjad (bahkan jika kunci semua angka). Setelah itu, cetak setiap catatan dalam format CSV yang sama dengan judul nomor yang sesuai, tanpa kunci yang tercantum. Jadi, untuk contoh di atas, output yang benar adalah:
abc,baz,foo,zxc
,quux,bar,
123,,fubar,
rty,qwe,asdf,uiop
Faq:
- Apakah saya harus khawatir tentang input yang diformat dengan tidak benar?
- Tidak. Program Anda dapat melakukan apa pun yang diinginkan (melemparkan pengecualian, mengabaikan, dll.) Jika input tidak diformat dengan benar, misalnya garis
foo,bar,baz
- Tidak. Program Anda dapat melakukan apa pun yang diinginkan (melemparkan pengecualian, mengabaikan, dll.) Jika input tidak diformat dengan benar, misalnya garis
- Bagaimana cara saya menangani pelolosan karakter khusus?
- Anda dapat berasumsi bahwa tidak akan ada tambahan
,
atau=
dalam data yang bukan bagian darikey=value
format."
tidak memiliki arti khusus dalam kontes ini (meskipun dalam CSV tradisional).juga tidak istimewa dengan cara apa pun.
- Baris harus cocok dengan regex berikut:
^([^=,]+=[^=,]+)(,[^=,]+=[^=,]+)*$
- Karenanya, baik kunci dan nilai akan cocok
[^=,]+
- Karenanya, baik kunci dan nilai akan cocok
- Anda dapat berasumsi bahwa tidak akan ada tambahan
- Bagaimana dengan
CRLF
vs.LF
?- Anda dapat memilih pembatas apa pun yang sesuai untuk platform Anda. Sebagian besar bahasa menangani ini tanpa kode pembatas khusus.
- Apakah saya perlu mencetak koma tertinggal jika beberapa kolom terakhir tidak ada?
- Iya. Lihat contohnya.
- Apakah parser CSV atau alat eksternal serupa lainnya diizinkan?
- Tidak. Anda harus mengurai data sendiri.