Excel, yalnızca belirli alanlara tırnak işaretleri koyar, Excel'i her sütunun etrafında tırnak işaretleri bulunan bir CSV dosyasını kaydetmeye nasıl zorlarım?
Excel, yalnızca belirli alanlara tırnak işaretleri koyar, Excel'i her sütunun etrafında tırnak işaretleri bulunan bir CSV dosyasını kaydetmeye nasıl zorlarım?
Yanıtlar:
XLS dosyasını LibreOffice veya OpenOffice'de, ardından Farklı Kaydet .... 'te açarsanız ve Metin CSV'yi seçerseniz, sınırlayıcı olarak tırnak işaretleri de içeren bir CSV dosyası oluşturmaya yardımcı olur. Örneğin: "Smith", "Pete", "Kanada" "Jones", "Mary", "İngiltere"
"Tüm metin hücrelerini alıntıla" kutusunu işaretlemeniz yeterlidir:
Sayısal alanlar da belirtmek için, hücre aralığınızı vurgulayın ve kaydetmeden önce hücre biçimlendirmesini "metin" olarak değiştirin.
Bu sayfa aynı zamanda atın ağzından çıkan bir çözüme sahiptir:
http://support.microsoft.com/kb/291296/en-us
Bağlantı bozulursa, aranacak konu şudur:
"Excel'de hem virgül hem de alıntı sınırlayıcı içeren bir metin dosyasını dışa aktarma prosedürü" ve / veya "Q291296"
tl; dr: makrolarını kullan
Bu kolay çözümü buldum:
"''"@"''"
(aşağıdaki ayrıntılara bakın)Yapıştırdığınız dize "''"@"''"
, çift alıntı, tek alıntı, tek fiyat teklifi, çift fiyat teklifi, @ sembol, çift fiyat teklifi, tek fiyat teklifi, tek fiyat teklifi, çift fiyat teklifidir.
Excel 2010 için burada bulunan bilgilerden düzenlenmiştir .
\"@\"
Powershell'in doğru şekilde boşaldığı görülüyor. yani bir şey
powershell bilmiyorsanız, windows makinesinde powershell.exe arayın.
import-csv C:\Temp\Myfile.csv | export-csv C:\Temp\Myfile_New.csv -NoTypeInformation -Encoding UTF8
Umarım birine yardımcı olur.
import-csv Myfile.csv | export-csv Myfile_quoted.csv -NoTypeInformation -Encoding UTF8
. Dosya adları etrafında boşluk veya diğer özel karakterlerin bulunduğu tek tırnak işaretlerini kullanmayı unutmayın.
Bu benim için en kolay olanı: Elektronik tabloyu Access 2010'a aktardım ve oradan ayrılmış bir metin dosyası olarak dışa aktardım. Bana tarlalarımın etrafındaki alıntı işaretlerini verdi. Şimdi 42k satırlar için bir dakikadan daha az zaman alıyor, artık adım atıyorum.
VBA Makrosunu içermeyen ancak Notepad ++ veya benzer bir makro tabanlı metin editörü gerektiren başka bir iş buldum.
Dosyanızı Sekmeyle ayrılmış metin olarak verin, sonra verilen dosyayı Not Defteri ++ içinde açın. 'Tab' karakterinin tüm örneklerini "," (örneğin tam anlamıyla çift alıntı, virgül, çift alıntı) metni ile değiştirin ve sonra metnin her satırını öneklemek ve sonlandırmak için başka bir makro kullanın.
Biraz taklit ama bir VBA makrosu çalışmasını sağlamaktan daha hızlı buldum.
Tırnak eklemek istediğiniz hücreleri vurgulayın. Biçim -> Hücreler -> Özel Kopyala / Aşağıdakini Tür alanına yapıştırın: \ ”@ \” “Tamam” ı tıklayın. Hepsini elle yapmadığınız için mutlu olun.
Gönderen: http://www.lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/
"''"@"''"
(aşağıdaki ayrıntılara bakın)' '
(tekrarlanan tek tırnak işaretleri) ile "
(çift tırnak) değiştirin;
Eğer Notepad ++, sadece ihraç csv dosyasını açın her satırın başına kadar tırnak eklemek 1 hat, 1 sütununda imleci koymak için kullanırsanız, ardından menü tıklayın Düzen / Sütun Editör ... , alana ' Yazı eklemek için ' enter " , sonra her satırın başında bir alıntı olacaktır, sonra tüm sekmeleri aramak / değiştirmek için normal ifadeyi kullanabilirsiniz.
Windows kullanıcıları için
Bunun ileri ve geri çeşitliliğe sahip bir klavye teklifi olmadığını unutmayın.
Öyleyse CSV'yi Mysql tablosuna LOAD yapmak için kesip, ENCLOSED parametresine yapıştırın ve yapıştırın, aksi halde neden mesaj aldığınızı merak edeceksiniz.#1083 - Field separator argument is not what is expected
Excel'deki üç sütunu almak ve dizeyi dördüncü sütunda oluşturmak için aşağıdaki yaklaşımı kullandım.
=CHAR(34)&A2&CHAR(34)&","&CHAR(34)&B2&CHAR(34)&","&CHAR(34)&C2&CHAR(34)&""
İle Sorunum "''"@"''"
yaklaşımının verilerim ikinci sütun bir sayı oldu olan "''"@"''"
yaklaşım numaraları ile hiçbir şey yapmadı. Bazen ikinci sütun boştur, ancak son metin dosyasında gösterildiğinden emin olmam gerekiyordu.
Başka bir yolla MS erişiminiz varsa (Ver 2007 verdim) dosyayı içe aktarın ve sonra metin dosyası olarak dışa aktarın. Ardından .txt dosyasını .csv olarak değiştirin. Tüm sayı alanlarının etrafında çift tırnak olmayacağına dikkat edin, bu nedenle de sayılar etrafında çift tırnak kullanmaya ihtiyacınız varsa, Access'te alanı bir sayı alanından metin alanına değiştirin.
Ayrılmış ve alıntılanmış dizeleri dışa aktarmak yalnızca Excel 2016 ve Not Defteri ile yapılabilir; verilerin bir kopyası, bir formül, bir dışa aktarma, bir dosya özellikleri değişikliği, Not Defteri'nde bir değiştirme, dışa aktarılan dosyayı kaydetme ve temizleme ile yapılabilir. Her biri basit bir adımdır. Detayda:
Orijinali ve yedeğini korumak için yeni bir ara sayfaya aktarılacak sütunları kopyalayın, daha sonra silinecek yeni sayfa ile elektronik tabloyu olduğu gibi bırakın.
Aksi halde oluşmayan karakter (ler) i koyun, sütundaki dize her bir ucuna '#' veya ';-)' deyin, formülle birlikte A'yı söyleyin, formülü =concat("#",trim(A1),"#")
başka bir sütunun tüm satırlarına yerleştirin.
Formülü taşımayacak şekilde '123' yöntemini kullanarak yeni sütunları A ... üzerine geri kopyalayın.
Sayıları içeren alanlar arasında virgül koymak için sayfayı CSV dosyası olarak dışa aktarın.
File.csv özelliklerini, Not Defteri ile açılabilecek şekilde değiştirin.
İsteğe bağlı karakterleri '"' ile değiştirmek için Not Defteri'ni kullanın.
"Keyfi karakter" olarak kullanmak mantıklı görünse de, farklı bir hücreye konulmalı, 'A $ 50' deyin ve sonra dışa aktarmada görünen şey "görünüşe göre uygunsuz bir tetikleyici."
Not defterinde, dosyanın kaydedilmesi, içe aktarılacak bir * .txt dosyası olması ve ara * .csv silinmesi gerekir.
Ekstra elektronik tablo sayfasının temizlenmesi ile görev tamamlandı.
Belki de Access dışa aktarma araçları bir gün Excel'e gömülebilir. Kes ve yapıştır kullanan programlar arasında daha genel bir yaklaşım, macun seçeneklerinin çıktı yapısını yorumlamak ve sınırlayıcıları sağlamak için çeşitli seçenekler içermesi olacaktır.
Michael'in 21 Ağustos 2014 tarihli cevabı gerçekten çok yardımcı oldu. Ancak, bir iki adım daha uygulamak zorunda kaldım:
Bu benim tarifim. Bunu yapmaktan nefret ediyorum ama daha iyi bir yolum yoktu. Benim durumumda, herhangi bir alandan alıntı alamıyorum. Ayrıca UTF-8 kodlamasını kullanmam gerekiyordu; sekmeler yerine, yaptığım şey bu.
NOT: Tekli tırnak işaretleri içine alınmış çift tırnak işareti koymanın uygunluğu nedeniyle, hem tuş vuruşlarını hem de gerçek karakterleri ve dizgileri göstermek için bilerek "klavye biçimlendirme" kullandım.
Bu meseleye defalarca rastladım. İşte şimdiye kadar bulduğum en basit çözüm.
Erişim, dışa aktarma sınırlayıcısını virgül olarak ve uygun metin alanlarını tırnak işaretleri ile belirtmenize izin verir. Dışa aktarma sihirbazında, istediğiniz dizgilerin etrafındaki sınırlayıcı veya karakterleri belirleyebilirsiniz.
Alanları belirli bir sırayla düzenlemek için Access sorgusu oluşturmanız veya Access tarafından eklenen otomatik kimlik alanını gizlemeniz gerekebilir.
Ayrıca ... bir CSV'ye dışa aktarıldığında, Excel'de tekrar açmayın. Sonuçlara bakmak istiyorsanız, not defterinde açın. Excel, bir csv'nin verilerini karıştırmaya meyillidir .... Doğru hatırlıyorsam, baştaki sıfırlarla doldurulmuş alanlar olduğunu düşünüyorum.
OpenOffice uygulamasının bir Excel elektronik tablosu almak ve her metin alanının çevresinde tırnak işaretleri içeren bir metin (csv) dosyası oluşturmak için kullanımı.
Excel dosyasını OpenOffice ile açın ve aşağıdaki adımları izleyin:
Dosya> Farklı Kaydet
Oluşturmak üzere olduğunuz dosya için yeni bir ad girin
Filetype için "Test CSV (.csv)" seçeneğini seçin
"Filtre Ayarlarını Düzenle" onay kutusunu işaretleyin
"Kaydet" i tıklayın
"Geçerli biçimi koru" yu seçin
Alan sınırlayıcı virgül olmalıdır:,
Metin sınırlayıcı bir tırnak işareti içermelidir: "
"Tüm metin hücrelerini alıntıla" kutusunu işaretleyin
"Tamam" ı tıklayın
Bu benim için çalıştı!