Bagaimana cara menghindari tanda kutip ganda saat menyimpan file Excel sebagai Unicode?

9

Saya memiliki file Excel dengan konten Unicode di mana beberapa sel berisi teks di dalam tanda kutip ganda, misalnya "text".

Ketika saya menyimpan file Excel ke file teks dalam format Unicode, teks yang berisi kutipan ganda disimpan sebagai tiga kutipan ganda, misalnya """text""".

Ada beberapa tempat di mana saya bahkan memiliki teks yang mengandung koma (,). Misalnya, text,yang dikonversi ke "text,"dalam file Unicode. Itu menambahkan tanda kutip ganda ke teks, yang saya kira berisi karakter khusus.

Bagaimana saya bisa menghindari ini?

karthik
sumber

Jawaban:

7

Ini adalah perilaku standar (dan mirip dengan cara file CSV disimpan). Lihat RFC 4180 - Format Umum dan Jenis MIME untuk File Comma-Separated Values ​​(CSV) :

Jika tanda kutip ganda digunakan untuk menyertakan bidang, maka tanda kutip ganda yang muncul di dalam bidang harus diloloskan dengan mendahului dengan tanda kutip ganda lainnya.

Bagaimana itu berlaku untuk kasus Anda?

  • Ini berarti bahwa "Text" harus disimpan sebagai """Text""", tanda kutip luar membatasi bidang, dan dua tanda kutip lainnya digunakan untuk menghindari tanda kutip aktual yang Anda gunakan untuk bidang teks Anda. Jika tidak, "Text"akan hanya diuraikan Textdan Anda akan kehilangan penawaran saat membuka kembali file.

  • Excel juga memilih untuk mengutip Text,, karena koma digunakan sebagai pembatas dalam file yang dipisahkan koma, dan tidak menyertakannya dalam tanda kutip berarti text,diurai sebagai dua bidang ketika Anda membuka kembali file.

Jika Anda tidak menginginkannya dalam output Anda, pertimbangkan untuk membuka file yang dihasilkan dalam editor teks dan menghapus semua kutipan dengan pencarian-dan-ganti sederhana.

slhck
sumber
2
Maksud Anda, tidak ada cara lain untuk menyelesaikan masalah selain menggantinya dengan editor teks.
karthik
Tidak juga, karena Excel harus melakukannya untuk alasan kompatibilitas. Mungkin mungkin untuk membuat Makro yang melakukan ekspor kustom, tapi saya bukan ahli dalam hal ini.
slhck
Ok terima kasih mungkin saya akan mencoba menggantinya di sisi pengkodean.
karthik
@ slhck: Saya menghadapi masalah sambil menyimpan Unicode sebagai CSV di 2010 superuser.com/q/1210099/234380
NJMR
3

Saya punya masalah ini juga. Kemudian, saya perhatikan bahwa saya menghadap ke opsi Simpan sebagai tipe: " Teks Terformat (Space delimited) ". Anda juga harus menentukan. ekstensi txt , atau akan default dengan ekstensi .prn. Misalnya, filename.txt alih-alih hanya nama file. Cobalah . Itu bekerja .

Jeff Byington
sumber
Akan dibatasi ruang alih-alih dibatasi tab, dan kolom tampaknya memiliki lebar terbatas hingga sekitar 8 karakter secara default.
JosiahYoder-deactive kecuali ..
Ini tidak berfungsi jika sel mengandung sesuatu seperti "A short sentence". Jawaban Pete di bawah adalah satu-satunya yang bekerja untuk saya.
Micah Lindström
2

Menyimpan ke Unicode tampaknya menambahkan tanda kutip bahkan ketika tidak ada tanda kutip di string saya. Inilah cara saya mengatasinya:

  1. Temukan string yang tidak ada di file Anda (saya menggunakan xxx).
  2. Sebelum mengekspor, Cari & Ganti Semua tanda kutip ganda "denganxxx
  3. Ekspor file Anda ke txt atau csv.
  4. Buka file txt dan Temukan & Ganti Semua kutipan tanpa apa-apa
  5. Temukan & Ganti Semua xxxdengan kutipan
Pete
sumber
Catatan, gunakan replacementtidak 'replacement'. Mengganti tanda kutip ganda dengan sesuatu termasuk tanda kutip tunggal menyebabkan masalah jika itu terjadi pada awal sel. Pada dasarnya, Excel melihat kutipan tunggal di awal makna sel untuk menafsirkannya sebagai teks, sehingga dihapus ketika Anda mengekspor ke txt / csv. Saya menemukan ini cara yang sulit lol.
Micah Lindström
0

Hanya dengan mudah menyimpan file Anda sebagai space delimited.prn di excel dan kemudian ganti namanya menjadi .txt. Saya menggunakan ini untuk krisis 18.000 baris. ;)

Salar Lotfee
sumber