Bagaimana cara membuka file CSV yang dibatasi titik koma di Excel versi AS

95

Ketika saya mengklik dua kali pada file .csv, itu dibuka di Excel. File-file csv memiliki kolom yang dibatasi dengan titik koma (bukan koma, tetapi juga format yang valid).

Menggunakan pengaturan Windows / Jerman Jerman, file yang dibuka ditampilkan dengan benar, kolom dipisahkan di mana titik koma ada di file csv.

Tetapi ketika saya melakukan hal yang sama pada pengaturan Windows / Excel Bahasa Inggris (AS-), hanya satu kolom yang diimpor, yang menunjukkan seluruh data termasuk titik koma di kolom pertama.
(Saya tidak memiliki pengaturan bahasa Inggris untuk tes, pengguna telah melaporkan perilaku tersebut)

Saya mencoba mengubah nilai daftar pemisah di pengaturan regional Windows, tetapi itu tidak mengubah apa pun.

Apa yang dapat saya lakukan untuk dapat mengklik dua kali-membuka file-file CSV pada pengaturan bahasa Inggris?

EDIT:
Tampaknya ini solusi terbaik untuk tidak bergantung pada file CSV dalam kasus ini. Saya berharap ada beberapa format untuk file CSV yang memungkinkan untuk menggunakannya secara internasional.
Solusi terbaik tampaknya saya akan beralih ke membuat file XLS.

Holgerwa
sumber
1
Anda dapat merekomendasikan pengguna Anda menggunakan LibreOffice Calc - ini menangani CSV dengan pemisah yang arbitrer baik-baik saja.
naught101

Jawaban:

1

File-file itu didistribusikan? diunduh? Dibuat secara lokal?

Saya pikir cara unik untuk menyelesaikan masalah Anda tanpa akses ke PC pengguna dan tanpa dia harus melakukan sesuatu yang berbeda dari "klik dua kali" pada file tersebut adalah dengan mengkonversi file menjadi .xls sebelum distibuting atau menempatkan untuk mengunduh atau menghasilkan a .xls (atau format lain yang berfungsi) alih-alih file .csv. Anda bisa melakukannya dengan skrip atau secara manual dengan Excel yang berfungsi, tergantung pada jumlah file dan cara mereka dihasilkan.

laurent
sumber
ya, saya pikir itu cara terbaik untuk langsung membuat file XLS. Saya berharap ada beberapa format untuk file CSV yang membuat mereka dapat digunakan secara internasional, tetapi jika itu tidak mungkin, file XLS akan berfungsi di mana pun.
Holgerwa
8
Bagaimana ini jawaban yang benar, itu tidak berguna.
Stevie G
Jawaban yang mengerikan - lihat jawaban yang diputuskan yang lain.
jmc
203

Tambahkan ini di baris pertama file CSV:

sep=;

atau

sep=,

Ini akan mengesampingkan pengaturan sistem ("karakter daftar pemisah") dan Excel akan membuka file dengan benar.

atx
sumber
4
+1 melakukan ini di excel 2010 dan bekerja dengan sempurna.
N Reed
8
Apakah ada daftar pengaturan lain seperti itu? Memberitahu Excel untuk digunakan, karena pemisah desimal biasanya sesuai dengan perintah untuk menggunakannya; sebagai pemisah kolom.
ZweiBlumen
5
Berfungsi sempurna untuk Excel, tetapi perhatikan bahwa ini mungkin tidak didukung di spreadsheet atau program data lainnya. Ini mungkin hanya masalah kecil, cukup menunjukkan baris pertama ekstra dengan sep=atau sep=;di dalamnya, tetapi beberapa program atau skrip otomatis mungkin tidak mengharapkan baris pertama ekstra, sehingga header kolom atau sep=;baris itu sendiri ditafsirkan sebagai data aktual.
Sygmoral
5
Hati-hati dengan ini. Jika Anda menyimpan dalam Excel, itu akan: - Hapus spesifikasi pemisah - Simpan dengan pemisah pengaturan regional
Bjinse
1
Dapat mengkonfirmasi fwrite($fileHandle, 'sep=,' . "\r\n");sepenuhnya memperbaiki masalah dengan fputcsvdi PHP.
h2ooooooo
26

Anda dapat menggunakan Panduan Impor Teks. Ini tidak bekerja pada double-klik-terbuka, tetapi adalah yang terbaik yang bisa saya lakukan dengan itu tidak melibatkan mengacaukan pengaturan lanugage.

Di Excel 2003 goto Data-> Import External Data-> Import Datapada bilah menu (tidak bisa mengatakan di mana itu pada 2007, saya tidak memiliki itu untuk diserahkan saat ini). Temukan dan pilih file CSV Anda.

Ketika terbuka Anda mendapatkan Text Import Wizard, yang memungkinkan Anda untuk menentukan pembatas (s) untuk digunakan.

DMA57361
sumber
Pada Outlook 2007 sampai ke tab Data dan pilih colum Anda dan klik tombol Teks ke Kolom pada set Alat Data.
Hondalex
1
Ya, itu solusinya. Sayangnya, pengguna yang perlu melihat data tidak bersedia melakukan ini. Mereka dapat menangani "klik dua kali", tetapi tidak akan dapat melakukan hal yang lebih rumit. Kami telah mencoba mendidik mereka setidaknya sedikit, tetapi mereka menolak.
Holgerwa
1
@ Holgerwa - mungkinkah menjalankan file melalui semacam proses konversi sebelum memberikannya kepada pengguna? Atau apakah mereka perlu tetap dibatasi semi-colon? Yang lain telah menyarankan ini, tetapi seharusnya cukup mudah untuk menukar titik koma dengan koma menggunakan semacam skrip (saya akan menyarankan agar tidak menemukan / mengganti yang sederhana karena Anda tidak ingin mengonversi tanda kutip yang ada di dalamnya).
DMA57361
6

Lihat artikel ini:
Masalah dengan Membuka File CSV dengan Excel? Masalah Koma dan Titik Koma di Excel karena Pengaturan Regional untuk Eropa

Yang menawarkan 3 solusi:

  • Ubah ekstensi file CSV ke TXT (saat Anda membuka file TXT dengan Excel, ekstensi itu akan memulai panduan impor file teks tempat Anda dapat memilih pembatas)
  • Ganti semua "," dengan ";" di file CSV Anda
  • Ubah pengaturan regional dan bahasa Anda

Karena Anda hanya mengubah nilai pemisah daftar di pengaturan regional Windows, saya perhatikan bahwa artikel mengatakan untuk memasukkan "." Untuk Decimal Symboldan "," untuk List Separator.

Jika Anda merasa nyaman dengan VBA, maka lihat:

Membuka file CSV dibatasi titik koma dengan VBA di Excel 2000
Mengekspor Dan Mengimpor Teks Dengan Excel

harrymc
sumber
Saya setuju, semua opsi yang valid, tetapi sayangnya, saya tidak dalam situasi normal dengan para pengguna file CSV ini. .TXT-impor tidak akan berfungsi (lihat komentar saya pada jawaban DMA57361), mengganti titik koma dengan koma tidak akan berfungsi karena masalah pemisah desimal, dan mengubah pengaturan regional tidak akan berfungsi karena saya tidak memiliki akses ke PC yang digunakan. Para pengguna hanya akan mengklik dua kali file dan jika mereka tidak mendapatkan apa yang mereka harapkan, mereka akan mengeluh dan menolak untuk membantu dalam menyelesaikan masalah.
Holgerwa
@ Holgerwa: Jika Anda tidak mengontrol PC pengguna maka tidak ada yang bisa Anda lakukan. Karena saran saya yang lain adalah mengubah handler ke ekstensi .csv menjadi program Anda sendiri, yang akan memperbaiki (tetapi secara cerdas) pembatas dan memanggil Excel.
harrymc
@ Holgerwa: Harap perhatikan edit saya di atas mengenai pengaturan regional.
harrymc
3

Cara terbaik yang saya coba adalah mengatur pengaturan regional komputer Anda seperti di bawah ini:

  • dalam "Standar dan Format" pilih "Bahasa Inggris (Amerika Serikat)";
  • di "Lokasi" pilih "Amerika Serikat".

Ini bekerja untuk saya, coba saja.

jaz
sumber
Sebenarnya, masalah OP adalah kebalikannya. Harus berubah ke wilayah Eropa untuk mendapatkan koma sebagai simbol Desimal dan kemudian titik koma akan menjadi pemisah Daftar.
yosh m
0

Jika tidak ada koma lain di file, Anda bisa melakukan find / replace di editor teks pada titik koma untuk mengubahnya menjadi koma. Perlakukan sebagai file csv normal setelah itu.

DHayes
sumber
File CSV ini harus bekerja di berbagai negara (pengaturan regional), dan di banyak pengaturan regional koma adalah pemisah desimal, bukan titik. File "nilai" yang dipisahkan koma nilai tidak akan berfungsi. Saya kira itulah alasan mengapa titik koma ditambahkan sebagai pembatas yang valid untuk file CSV.
Holgerwa