Saya memiliki file Excel yang memiliki beberapa karakter Spanyol (tildes, dll.) Yang harus saya konversi ke file CSV untuk digunakan sebagai file impor. Namun, ketika saya melakukan Save As CSV itu mangible karakter Spanyol "khusus" yang bukan karakter ASCII. Tampaknya juga melakukan ini dengan tanda kutip kiri dan kanan dan tanda hubung panjang yang tampaknya berasal dari pengguna asli yang membuat file Excel di Mac.
Karena CSV hanyalah file teks, saya yakin ini bisa menangani pengkodean UTF8, jadi saya menduga itu adalah batasan Excel, tapi saya sedang mencari cara untuk beralih dari Excel ke CSV dan mempertahankan karakter non-ASCII utuh.
Jawaban:
Solusi sederhana adalah dengan menggunakan Google Spreadsheet. Rekatkan (hanya nilai jika Anda memiliki rumus rumit) atau impor lembar lalu unduh CSV. Saya baru saja mencoba beberapa karakter dan itu bekerja dengan baik.
CATATAN: Google Sheets memang memiliki batasan saat mengimpor. Lihat di sini .
CATATAN: Hati-hati dengan data sensitif dengan Google Sheets.
EDIT: Alternatif lain - pada dasarnya mereka menggunakan VB macro atau addins untuk memaksa save sebagai UTF8. Saya belum mencoba salah satu solusi ini tetapi kedengarannya masuk akal.
sumber
Saya telah menemukan aplikasi spreadsheet OpenOffice , Calc, sangat bagus dalam menangani data CSV.
Dalam dialog "Simpan Sebagai ...", klik "Opsi Format" untuk mendapatkan penyandian berbeda untuk CSV. LibreOffice bekerja dengan cara yang sama AFAIK.
sumber
Simpan lembar Excel sebagai "Teks Unicode (.txt)". Berita baiknya adalah semua karakter internasional ada di UTF16 (perhatikan, bukan UTF8). Namun, file "* .txt" yang baru dibatasi TAB, tidak dibatasi koma, dan karenanya bukan CSV yang sebenarnya.
(opsional) Kecuali jika Anda dapat menggunakan file dibatasi TAB untuk impor, gunakan editor teks favorit Anda dan ganti karakter TAB dengan koma ",".
Impor file * .txt Anda di aplikasi target. Pastikan itu dapat menerima format UTF16.
Jika UTF-16 telah diimplementasikan dengan benar dengan dukungan untuk poin kode non-BMP, Anda dapat mengonversi file UTF-16 ke UTF-8 tanpa kehilangan informasi. Saya serahkan kepada Anda untuk menemukan metode favorit Anda untuk melakukannya.
Saya menggunakan prosedur ini untuk mengimpor data dari Excel ke Moodle.
sumber
;
, lalu mengimpor file txt ke phpmyadmin dengan "set karakter file: utf-8", Format "CSV menggunakan LOAD DATA ". Semua penyandian telah ditransfer dengan benar.Saya tahu ini adalah pertanyaan lama tetapi saya kebetulan menemukan pertanyaan ini sambil berjuang dengan masalah yang sama seperti OP.
Karena tidak menemukan solusi yang ditawarkan sebagai opsi yang layak, saya mencari tahu apakah ada cara untuk melakukan ini hanya dengan menggunakan Excel.
Untungnya, saya telah menemukan bahwa masalah karakter yang hilang hanya terjadi (dalam kasus saya) ketika menyimpan dari format xlsx ke format csv. Saya mencoba menyimpan file xlsx ke xls terlebih dahulu, kemudian ke csv. Ini benar-benar berhasil.
Silakan coba dan lihat apakah itu cocok untuk Anda. Semoga berhasil.
sumber
Windows comma separated (CSV)
. Tidak berfungsi jika saya menggunakan opsi default atau DOS CSV - keduanya menggantikan karakter beraksen dengan karakter sampah acak. Diuji untuk karakter termasuké
,è
,â
... Tidak tahu apakah itu UTF8 nyata tetapi karakter tidak hancur.Anda dapat menggunakan perintah iconv di bawah Unix (juga tersedia di Windows sebagai libiconv ).
Setelah menyimpan sebagai CSV di bawah Excel di baris perintah:
(ingat untuk mengganti cp1250 dengan penyandian Anda).
Bekerja cepat dan bagus untuk file besar seperti basis data kode pos, yang tidak dapat diimpor ke GoogleDocs (batas 400.000 sel).
sumber
sed
atautr
menerjemahkan dari '\ t' ke ','Anda dapat melakukan ini pada mesin Windows modern tanpa perangkat lunak pihak ketiga. Metode ini dapat diandalkan dan akan menangani data yang mencakup koma yang dikutip, karakter tab yang dikutip, karakter CJK, dll.
1. Simpan dari Excel
Di Excel, simpan data untuk
file.txt
menggunakan tipeUnicode Text (*.txt)
.2. Mulai PowerShell
Jalankan
powershell
dari menu Start.3. Muat file dalam PowerShell
4. Simpan data sebagai CSV
sumber
CHARACTER SET utf8mb4
seperti yang dijelaskan di sini: stackoverflow.com/a/10959780/470749Satu-satunya "cara mudah" untuk melakukan ini adalah sebagai berikut. Pertama, sadari bahwa ada perbedaan antara apa yang ditampilkan dan apa yang disimpan dalam file Excel .csv.
File ini dalam UTF-8 dan mempertahankan semua karakter dan aksen dan dapat diimpor, misalnya, ke dalam MySQL dan program basis data lainnya.
Jawaban ini diambil dari forum ini .
sumber
Satu lagi yang saya temukan berguna: " Angka " memungkinkan pengaturan encoding saat menyimpan sebagai CSV.
sumber
"nevets1219" benar tentang Google docs, namun jika Anda hanya "mengimpor" file itu sering tidak mengubahnya menjadi UTF-8.
Tetapi jika Anda mengimpor CSV ke Google spreadsheet yang ada itu dikonversi ke UTF-8.
Ini resepnya:
File yang dihasilkan akan berada di UTF-8
sumber
Menggunakan Notepad ++
Ini akan memperbaiki file CSV rusak yang disimpan oleh Excel dan menyimpannya kembali dalam penyandian yang benar.
Excel menyimpan dalam CP-1252 / Windows-1252. Buka file CSV di Notepad ++. Pilih
Kemudian
Pertama-tama beri tahu Notepad ++ pengodeannya, lalu konversi. Beberapa jawaban lain ini mengonversi tanpa mengatur pengkodean yang tepat terlebih dahulu, bahkan membuat file semakin kacau. Mereka akan mengubah apa yang harus
’
menjadi達
. Jika karakter Anda tidak cocok dengan CP-1252 maka itu sudah hilang ketika disimpan sebagai CSV. Gunakan jawaban lain untuk itu.sumber
.csv
ini file teks. Jawaban ini akan membuka file CSV yang rusak oleh Excel, memperbaikinya, lalu menyimpannya kembali dengan pengkodean yang tepat.Di bawah Excel 2016 dan lebih tinggi (termasuk Office 365), ada opsi CSV yang didedikasikan untuk format UTF-8.
Di Office 365, lakukan Simpan Sebagai; di mana sebelumnya orang mungkin telah memilih CSV (Comma Delimited), sekarang salah satu jenis file yang dapat Anda simpan seperti CSV UTF-8 (Comma delimited) (* .csv)
sumber
Bagi mereka yang mencari solusi yang sepenuhnya terprogram (atau setidaknya sisi-server), saya sudah sangat sukses menggunakan alat xls2csv catdoc.
Pasang catdoc:
Lakukan konversi:
Ini sangat cepat.
Perhatikan bahwa Anda harus menyertakan
-d utf-8
flag, jika tidak maka akan mengkodekan output secara defaultcp1252
pengkodean , dan Anda berisiko kehilangan informasi.Perhatikan bahwa
xls2csv
juga hanya berfungsi dengan.xls
file, itu tidak bekerja dengan.xlsx
file.sumber
Bagaimana dengan menggunakan Powershell.
sumber
Cara termudah: Tidak perlu Open office dan google docs
csv
file yang baru saja Anda ganti namanya dan ganti semua tab dengan koma. Untuk melakukan ini di Notepad pada Win 10, cukup pilih satu bidang tab lalu klikCtrl+H
. Di jendela yang terbuka, ketikkan koma,
di bidang "Ganti dengan" lalu klik "Ganti Semua". Simpan file Anda. Hasilnya akan berupa file csv UTF-8 dibatasi koma.Jangan membukanya dengan MS-Office !!! Sekarang Anda memiliki file CSV yang dibatasi tab. Atau, yang dibatasi koma jika Anda menerapkan langkah nomor 5.
sumber
.txt
ekstensi.csv
, yaitu file yang dipisahkan koma, hanya membingungkan.Walaupun kelihatannya lucu, cara termudah yang saya temukan untuk menyimpan spreadsheet 180MB ke file UTF8 CSV adalah memilih sel ke dalam Excel, menyalinnya dan menempelkan konten clipboard ke dalam SublimeText.
sumber
Saya tidak dapat menemukan solusi VBA untuk masalah ini di Mac Excel. Tampaknya tidak ada cara untuk menampilkan teks UTF-8.
Jadi saya akhirnya harus menyerah pada VBA, menggigit peluru, dan belajar AppleScript. Itu tidak seburuk yang kupikirkan.
Solusi dijelaskan di sini: http://talesoftech.blogspot.com/2011/05/excel-on-mac-goodbye-vba-hello.html
sumber
Dengan asumsi lingkungan Windows, simpan dan bekerja dengan file seperti biasa di Excel tetapi kemudian buka file Excel yang disimpan di Gnome Gnumeric (gratis). Simpan Gnome Gnumeric's spreadsheet sebagai CSV yang - bagi saya - menyimpannya sebagai UTF-8 CSV.
sumber
Cara mudah untuk melakukannya: unduh kantor terbuka (di sini ), muat spreadsheet dan buka file excel (
.xls
atau.xlsx
). Kemudian simpan saja sebagai file CSV teks dan jendela terbuka meminta untuk menyimpan format saat ini atau untuk menyimpan sebagai format .ODF. pilih "simpan format saat ini" dan di jendela baru pilih opsi yang berfungsi lebih baik untuk Anda, sesuai dengan bahasa tempat file Anda ditulis. Untuk bahasa Spanyol, pilih Eropa Barat (Windows-1252/ WinLatin 1
) dan file berfungsi dengan baik. Jika Anda memilih Unicode (UTF-8
), itu tidak akan berfungsi dengan karakter Spanyol.sumber
Simpan file xls (file Excel) sebagai Unicode text => file akan disimpan dalam format teks (.txt)
Ubah format dari .txt ke .csv (ganti nama file dari XYX.txt ke XYX.csv
sumber
Saya juga menemukan masalah yang sama tetapi ada solusi mudah untuk ini.
Ini berfungsi dengan baik dan file csv dihasilkan yang dapat diimpor dalam perangkat lunak apa pun. Saya mengimpor file csv ini dalam database SQLITE saya dan berfungsi dengan baik dengan semua karakter unicode utuh.
sumber
Datang di masalah yang sama dan googled posting ini. Tak satu pun dari yang di atas bekerja untuk saya. Akhirnya saya mengonversi Unicode .xls ke .xml (pilih Simpan sebagai ... XML Spreadsheet 2003) dan menghasilkan karakter yang benar. Lalu saya menulis kode untuk mem-parsing xml dan mengekstraksi konten untuk saya gunakan.
sumber
Saya telah menulis skrip Python kecil yang dapat mengekspor lembar kerja di UTF-8.
Anda hanya perlu menyediakan file Excel sebagai parameter pertama diikuti oleh sheet yang ingin Anda ekspor. Jika Anda tidak memberikan lembar, skrip akan mengekspor semua lembar kerja yang ada di file Excel.
sumber
Excel biasanya menyimpan file csv sebagai encoding ANSI bukan utf8.
Salah satu opsi untuk memperbaiki file adalah menggunakan Notepad atau Notepad ++:
sumber
Pilihan kedua untuk "nevets1219" adalah membuka file CSV Anda di Notepad ++ dan melakukan konversi ke ANSI.
Pilih di menu atas: Pengkodean -> Konversikan ke Ansi
sumber
Pengkodean -> Konversi ke Ansi akan menyandikannya dalam ANSI / UNICODE. Utf8 adalah bagian dari Unicode. Mungkin dalam ANSI akan dikodekan dengan benar, tetapi di sini kita berbicara tentang UTF8, @SequenceDigitale.
Ada cara yang lebih cepat, seperti mengekspor sebagai csv (dibatasi koma) dan kemudian, membuka csv itu dengan Notepad ++ (gratis), kemudian Encoding> Convert to UTF8. Tetapi hanya jika Anda harus melakukan ini sekali per file. Jika Anda perlu mengubah dan mengekspor dengan benar, maka solusi terbaik adalah LibreOffice atau GDocs.
sumber
Microsoft Excel memiliki opsi untuk mengekspor spreadsheet menggunakan pengkodean Unicode. Lihat screenshot berikut.
sumber
buka .csv baik-baik saja dengan notepad ++. jika Anda melihat pengkodean Anda baik (Anda melihat semua karakter sebagaimana mestinya) tekan pengkodean, lalu konversikan ke ANSI lain - cari tahu apa pengkodean Anda saat ini
sumber
solusi lain adalah membuka file dengan winword dan menyimpannya sebagai txt dan kemudian membukanya kembali dengan excel dan itu akan berfungsi ISA
sumber
Simpan Dialog> Alat Tombol> Opsi Web> Tab Pengkodean
sumber
Saya memiliki masalah yang sama dan menemukan tambahan ini , dan berfungsi dengan baik di excel 2013 selain excel 2007 dan 2010 yang disebutkan untuk.
sumber