Saya memiliki file log yang ingin saya buka dalam Angka agar lebih mudah menyaringnya. Masalahnya adalah formatnya bukan CSV. Setiap baris memiliki sekitar selusin bidang, dan bidang itu sendiri dipisahkan oleh spasi. Namun, beberapa bidang yaitu string, yang mengandung ruang, jadi saya tidak bisa hanya melakukan menemukan menggantikan untuk ruang dan menempatkan koma dalam Satu lapangan, tanggal, sebenarnya diformat seperti ini.: [06/Feb/2018:03:27:37 +0000]
. Tampaknya ini adalah satu-satunya tempat di mana [] digunakan, jadi saya dapat menemukan / menggantikannya dengan ", tetapi saya masih kesulitan mengimpor dokumen. Ini menempatkan setiap baris dalam satu kolom.
Jadi, untuk meringkas, tujuan saya adalah mengambil file input dan memecah setiap baris sehingga spasi adalah pembatas, tetapi mengabaikan spasi dalam tanda kutip.
Jawaban:
jika Anda memiliki editor yang dapat menggunakan regex (misalnya textwrangler atau bbedit)
atau Anda bersedia menggunakan sed (dalam hal ini ingat flag -E)
atau Anda dapat menulis filter kecil dalam bahasa apa pun yang Anda kenal (misalnya perl atau python),
Anda dapat mengubah tanda kurung menjadi "s dan kemudian menggunakan regex:
s / \ (? = (?: [^"] "[^"] ") [^"] $) / \ t / g
untuk mengonversi ruang apa pun yang tidak berada di antara tanda kutip menjadi tab, sehingga Numbers akan mengimpornya dengan benar (bukan saya yang baik dengan regex, dijelaskan di sini: regex101.com/r/sU3fA2/29)
sumber