Rumah  >  Artikel  >  Java  >  Bagaimana Mengendalikan Fail CSV dengan Sempadan Ruang Putih dengan Betul?

Bagaimana Mengendalikan Fail CSV dengan Sempadan Ruang Putih dengan Betul?

Susan Sarandon
Susan Sarandonasal
2024-10-25 02:26:42554semak imbas

How to Handle CSV Files with Whitespace Boundaries Correctly?

Baca CSV dengan Isu Scanner()

Apabila membaca fail CSV menggunakan Scanner(), adalah perkara biasa untuk menghadapi isu dengan teks yang mengandungi ruang dipindahkan ke baris seterusnya. Ini berlaku kerana Pengimbas mengikut sempadan ruang putih.

Pengendalian CSV yang Salah dalam Penggunaan Pengimbas()

Coretan kod yang disediakan menggunakan Pengimbas() untuk membaca dan memproses fail CSV. Walau bagaimanapun, ia tidak mengendalikan garisan dengan ruang dengan betul. Sebagai contoh, dalam baris CSV "alamat 1, alamat 2", ruang putih antara "alamat 1" dan koma menyebabkannya dipecahkan kepada berbilang baris.

Garis Panduan Penghuraian CSV

Apabila bekerja dengan fail CSV, adalah penting untuk mempertimbangkan garis panduan berikut:

  • Penghurai CSV yang salah menghasilkan hasil yang salah: Banyak penghurai CSV di Internet melaksanakan petikan, melarikan diri dan aspek lain secara tidak betul, yang membawa kepada output yang salah.
  • Gunakan perpustakaan CSV yang mantap: Untuk mengelakkan isu ini, gunakan perpustakaan CSV yang mantap seperti opencsv, Ostermiller Java Utilities atau Apache Commons CSV.
  • Ikuti CSV RFC: Jika anda berkeras untuk mencipta penghurai anda sendiri, teliti RFC rasmi untuk CSV bagi memastikan pelaksanaan yang betul.

Dalam kes khusus ini, perkara berikut menyerlahkan pengendalian yang salah:

  • Fail CSV boleh mengandungi ruang kosong antara pemisah dan nilai (dipetik).
  • Pengimbas() memisahkan input berdasarkan sempadan ruang putih, yang tidak betul untuk penghuraian CSV.
  • Untuk membaca fail CSV dengan betul, anda harus mempertimbangkan untuk menggunakan pustaka penghurai CSV yang lebih sesuai.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Fail CSV dengan Sempadan Ruang Putih dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn