CSV olarak kaydedildiğinde Excel'in özel karakteri yok etmesi


21

Veritabanını doldurmak için istemci tarafından sağlanan CSV dosyasını kullanan bir proje üzerinde çalışıyorum. İstemci elektronik tabloyu oluşturup daha sonra bir CSV olarak kaydedin; bu daha sonra veritabanına ayrıştırılır.

Sorun, istemci excel çizelgesini MS-DOS .csv dosyası olarak kaydettiğinde, özel karakterlerin çoğu soru işaretlerine "?" Dönüştürülür. ('' / gibi semboller). Ancak, eğer CSV dosyasını açar ve her birini? doğru karakterle manuel olarak değiştirirsek düzgün çalışır.

Sorun şu ki, veri dosyası BÜYÜK, ve makul bir şekilde yapamayız, bu yüzden onu kurtarmanın bir yolu olduğunu umuyordum. Boşuna Unicode ve ASCII olarak ihraç etmeye çalıştık. Ayrıca, Google dokümanlara yükleme yapmayı denedik ve yeniden kaydetmeyi denedik, ancak bu karakterleri de bozuyor.


2
Eğer 2007 senesinde excel iseniz, Dosya olarak kaydet iletişim kutusundaki kaydetme tuşunun hemen sol tarafında bir Araçlar açılır. Bunun bir yardımı olup olmadığını deneyin

Bu metnin bir örneği nedir?
enderland

1
Sorun tekrarlanamaz değil. Verilerin aslında tanımladığınızdan ve MS-DOS kodlamasında temsil edilemeyen bazı karakterlerden olmadığından emin olun.
Jukka K. Korpela 24:12 '

Yanıtlar:


11

DOS UTF-8 karakterlerini desteklemediğinden, a olarak CSV (Comma Delimited)değil CSV (MS-DOS), kaydetmeyi seçtiğinizden emin olun .


6

Kayıp karakter sorununun yalnızca (benim durumumda) xlsx formatından csv formatına kaydedilirken olduğunu gördüm. Xlsx dosyasını önce xls'e, sonra csv'ye kaydetmeye çalıştım. Aslında işe yaradı.


Bu benim için çalışmıyor. Hala anladın mı? csv dosyasında
thanos.a

4

Olası bir geçici çözüm, Unicode Textonu sekmeyle ayrılmış bir metin dosyası olarak kaydeden (2007 önceki sürümlerden emin değil) olarak kaydetmektir.

Bu dosya, unicode karakterlerimi korudu (benim durumumda asya karakterleriyle çalışıyordum ), daha sonra gerekirse csv'ye dönüştürmek için harici araçlarla çalıştırabileceğiniz bir tür ayrılmış metin dosyası oluşturdu.

Ancak girdilerimin her hücreye gömülü sekmeleri yoktu ve bunun nasıl işleneceğini bilmiyorum.


3

İşte benim için işe yarayanlar:

  1. Excel veya CSV’de veri düzeltmeleri yapın
  2. Dosyayı Unicode Metin Olarak Kaydet
  3. NOTEPAD’ı açın
  4. NOTEPAD kullanarak yeni kaydettiğiniz Unicode dosyasını açın
  5. İmleci, tek bir sekme 5a tutan boş bir alanı vurgulamak için kullanın. Elde edilen Id ile İstek Türü arasındaki boşluğu kullanın, çünkü ONE TAB!
  6. Sekme karakterini kopyalamak için Cnrl-C tuşlarına basın
  7. Replace işlev kutusunu açmak için Cnlr-H tuşlarına basın.
  8. Aranan metin kutusuna tıklayın ve Sekmeyi yapıştırmak için Cnlr-V yazın.
  9. Metinle Değiştir kutusuna tıklayın ve virgül yazın.
  10. Bir kez test etmek için Değiştir'e tıklayın. Dosyadaki sekmenin virgül ile değiştirildiğini onaylayın.
  11. Tümünü Değiştir'i tıklayın.
  12. İptal et'i tıklayın.
  13. Dosyayı kaydet ve çık
  14. Windows Gezgini'nde, dosya uzantısını .csv olarak değiştirin.

1
Bu benim için çalıştı, Notepad ++ kullanarak.
ChrisB

Evet, Unicode olarak dışa aktarmak ve sekmeleri de virgüllerle bulmak ve değiştirmek zorunda kaldım.
nilloc

2

Bir süredir bu sorunu yaşıyorum ve sonunda çözmek için biraz zaman ayırdım! (Görünüşe göre) "Windows Virgülle Ayrılmış (.csv)" olarak kaydederek sorunu çözmeyi başardım. Her ikisi de sadece bir .csv dönüştürülmüş bir .xlsx ve .xls denedim. Bu yardımcı olur umarım - Bu yöntem ile herhangi bir sorun ortaya çıkarsa bana bildirin. Birkaç hafta içinde bir şey görürsem rapor edeceğim.


1
Süper Kullanana Hoşgeldiniz. Soruları cevaplamak için doğru atladığına sevindim.
CharlieRB,

1

Çözüm:

  1. CSV dosyanızı Not Defteri'nde açın (ANSI yazdığını fark edeceksiniz), sonra Not Defteri'nde UTF-8 olarak yeniden kaydedin.

  2. O zaman ithalat işe yaramalı. Ancak, Excel'de tekrar açın ve Excel'in UTF-8'de görünüşte yerel olarak kodlayamaması nedeniyle, yalnızca çalışmayacak.

  3. Diğer seçenek de CSV dosyanızla birlikte UTF-8'de doğru şekilde kodlama yapabilen www.LibreOffice.org (free) 'da çalışmaktır (bunu kendim denemedim).

"?" hata karakterleri Bunun nedeni, CSV dosyasının UTF-8'de kodlanmamış olmasıdır. Ancak, CSV dosyasını UTF-8 kodlamasıyla Excel'de kaydettikten sonra bile çalışmadı.

Birden fazla forumu çizdikten sonra, Excel UTF-8 olarak kodlanma seçeneği sunsa da, bir CSV SAVING, Excel, UTF-8'i seçmiş olsanız bile, otomatik olarak ANSI'ye dönüştürür.



0

Hatta Japonca terimlerini .csv biçiminde indirirken özel karakterlerle de karşılaştım. Ancak .csv dosyasını Metin biçiminde (Sekmeyle ayrılmış) mükemmel biçimde yerleştiren Japonca karakterleri kaydettiğimde. Sonra verileri metin dosyasından kopyaladım ve bir elektronik tabloya yapıştırdım. İyi çalıştı!!!

Teşekkürler Vaishakh


Bu soruya bir cevap vermiyor. Bir yazarın açıklamasını eleştirmek veya talep etmek için, yazdıklarının altında bir yorum bırakın; istediğiniz zaman kendi yazılarınıza yorum yapabilirsiniz ve yeterli saygınlık elde ettiğinizde , herhangi bir yayına yorum yazabilirsiniz .
Ramhound

0

Şimdiye kadarki en iyi çözümü buldum: http://woshka.com/blog/microsoft/microsoft-excel/solve-the-problem-saving-excel-csv-format-with-utf-8-unicode-encoding.html

Bağlantıdan:

Başlat menüsünde 1-tıklayın

2-Kontrol panelini seçin

3-Klasik modda Bölge ve Dil seçeneklerini bulun veya adını kontrol paneli penceresinin hemen sağındaki arama çubuğuna yazın

Gelişmiş sekmeye tıklayın ve yerelleri tıklayın

5-Farsça veya Arapça ya da Excel ile CSV'ye kaydetmek istediğiniz UTF-08 kodlama programına tıklayın


woshka.com artık geçerli bir URL değil, şu anda park edilmiş bir etki alanı.
Craig London

0

™ için bir çözüm buldum. .Xlsx dosyasında, tüm "™" öğelerini "& tr-ade;" ile değiştirin. ile değiştir -. Dosyayı .csv olarak kaydedin ve hepsi bitti. keşke sizin için çalışsa.


0

Bir Mac bilgisayarda bu benim için çalıştı.

Excel'de, farklı kaydet ve ardından açılan menüden virgülle ayrılmış (CSV) pencereleri seçin.

Sadece çalışıyor !!!


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.