Excel’in sütunlarda düzenlenmiş verilerle CSV dosyalarını açmaya zorlanması


32

Bir satırdaki her veri parçasının virgülle ayrıldığı .csv uzantılı bir CSV dosyası oluşturuyorum:

1,2,3,4
1,2,3,4

Dosya e-posta yoluyla gönderilir ve bir müşteri açtığında sütunda düzenlenmiş verileri görmesini istiyorum.

Böyle bir şey mümkün mü?

Not: Sınırlayıcıyı serbestçe değiştirebilirim.


1
Endişelendiğim kadarıyla, verileri Excel'e içe aktarmak dışında hiçbir şey yapamazsınız, çünkü Excel, verilerin yapısı hakkında herhangi bir varsayımda bulunamaz (ör. Kullanılan ayırıcı, ondalık formatı veya genel format). veri).
slhck

@slhck lütfen cevaba bakınız
Timofey

Oh, Excel'in bunu yapabileceğini bilmiyordum. Güzel bir.
slhck

1
CSV dosyasını sadece çift tıkladığınızda, Excel açılacak ve dosya doğru gösterilecektir. Doğrumuyum?
wilson

@wilson: Excel .csv dosyalarını açmak için ilişkilendirilmelidir, ardından bir .csv dosyasını çift tıklatarak excel başlatılır
Timofey

Yanıtlar:


10

Virgül yerine sekme kullanın. Bu işe yaramazsa, sekmeyle ayrılmış dosyanıza bir xls uzantısı verin.


çözüm için teşekkürler, .csv'yi dosya uzantısı olarak bıraktım
Timofey

mac üzerinde 14.7.1 excel için çalışmıyor (2017)
masukomi

3
"PS: Sınırlayıcıyı serbestçe değiştirebilirim." bu cevabı daha az geçerli kılar
Paul Fijma 11:18

C virgül anlamına geldiği için bu, bir CSV dosyasının nasıl yükleneceğini cevaplamaz.
JBernardo

@JBernardo Bir kez yaptı, ancak bugün vahşi ortamda csv uzantılı dosyaları her türlü sınırlayıcıyla bulabilirsiniz: sekme, pipo, virgül, kısa çizgi, @, \ 0, vb. Doğru ya da yanlış, oradalar. ve "Sınırlayıcıları değiştirebilirim" sorusunun bir kısmı bu cevabı geçerli kılar.
Joel Coehoorn

43

sadece her sistemde csv okunabilir olması için belgelenmemiş bir numara var: ilk satırda SEP=;. Bu satır EXCEL'e hangi karakteri ayırıcı olarak kullanacağını söyler (aslında herhangi bir (tek) karakteri ( ;,|@#'...) kullanabilirsiniz)

NOT: bu satır csvdosyanın kendisinin bir parçasıdır . Bu olacak değil EXCEL spreadsheed parçası haline gelir. bu, gösterilmeyeceği ve yazılmayacağı, hangi formatta yazacağınızı veya dışa aktaracağınız önemli değil.


Bu bir hayat kurtarıcıydı! Burada harika çalıştı!
Etienne Dupuis

En iyi çözüm IMHO, tüm dillerle çalışması gerektiği gibi
mBardos

39

CSV dosyalarını açarken Excel'in davranışı yerel ayarlarınıza ve list separatoraltında kullanılana bağlıdır Region and language » Formats » Advanced. Varsayılan olarak Excel, her CSV'nin bu ayırıcıyla birlikte kaydedildiğini varsayacaktır. CSV başka bir ülkeden gelmediği sürece gerçek olan budur!

Müşterileriniz başka ülkelerdeyse, düşündüğünüzden başka sonuçlar görebilir.

Örneğin, burada bir Alman Excel’in ABD’de olduğu gibi virgül yerine noktalı virgül kullanacağını görüyorsunuz. görüntü tanımını buraya girin

Kafanızı daha da karıştırmak için, bu ayar Excel Options » Advanced » Use system separatorsyukarıda gösterildiği gibi bölgesel ayarlar altında veya bölgesel ayarlarla ayrı ayrı ayarlanabilen ondalık simgeye müdahale eder . Excel, ondalık sekmesi ve liste ayırıcı ile aynı sembolü kullanamaz. Yedek ayırıcı olarak otomatik olarak virgül veya noktalı virgül kullanılacaktır. Daha fazla oku

3 dosya oluşturmak için örnek alacağım. Her biri farklı bir ayırıcı ile Excel ile açın.

    COMMA               SEMICOLON                     TAB 

görüntü tanımını buraya giringörüntü tanımını buraya giringörüntü tanımını buraya girin

Excel'inizle aynı değil mi? Ben de öyle düşünmüştüm.

Öyleyse, uzantıyı aynı CSV dosyalarından XLS'ye manüel olarak değiştirelim ve şimdi ne olduğuna bakalım. İlk olarak, Excel dosya uzantısının içerikle eşleşmediğini belirten bir uyarı verir ve Excel içeride ne olduğunu tahmin etmeye çalışır.

    COMMA        SEMICOLON                   TAB 

görüntü tanımını buraya giringörüntü tanımını buraya giringörüntü tanımını buraya girin

Sonuç: SEKME + yeniden adlandırma + uyarıyı yoksay = Her sistemde kazan?
Belki, ama kendi ülkeniz dışındaki müşteriler için o kadar emin olmazdım.

En iyi yöntem, müşterilerinize önce boş bir Excel açma ve sonra Data » Get data from textayırıcı olarak virgül seçip elle seçme talimatı vermektir.


2
Bu cevap harika ama ben Microsoft'tan bu acıklı buluyorum. Numbers'da bir csv açtınız ve doğru açılıyor. Google sayfalarında açtınız ve doğru açılıyor. Sonra ödediğiniz tek şey olan Excel'de açarsınız ve ... Hiçbir şey. Peki ya biz asla liste ayırıcı ayarlamayanlar? Şimdi çalışmasını sağlamak için zaman harcamak zorundayım çünkü "virgül" bu "csv" de bir anlam ifade etmiyor. Çok sinir bozucu.
dokunun

> Bu çözüm bana işe yarıyor (excel 2013). Bölgesel formatımı ayarlıyorum: "ondalık ayırıcı" olarak bir nokta (.), "Bin ayırıcı" olarak virgül (,) ve "liste ayırıcı" olarak virgül (,) belirledim - cesargastonec 16 Temmuz 13 '15: 05
Alex78191

Veya ondalık ayırıcıyı Excel seçeneklerinde değiştirebilirsiniz superuser.com/a/1470373
Alex78191

1

".Csv" dosyasını ".txt" ile değiştirebilir, Excel'i başlatabilir ve bu .txt dosyasını açabilirsiniz. Ardından Excel, ayırıcı olarak "," kullanmayı belirtebileceğiniz bir yardımcı gösterir. Daha sonra bu dosyayı tekrar .csv olarak kaydettiğinizde, Excel bir dahaki sefere ihtiyaç duyduğunuz şekilde açılacaktır.


0

Bu durumda kullandığım bir diğer çözüm, CSV yerine temel bir HTML dosyası oluşturmaktı. Excel bunu hatasız açabilir. Dosyadaki biçimlendirmenin en azından bir kısmını da okuyabilir.


0

Bu şimdiye kadarki en saçma cevap, ama işe yaradı. Günlük CSV dosyalarını kullanıyorum. Her zaman onları yaratıyorum ve excel ile görüyorum. Bugün, 12 yıldan beri bu sorunu hiç görmedim, başıma geldi. Bir csv dosyasını açmaz ve sütunları biçimlendirmez. Dün gece excel ile oluşturduğum bazı csv dosyaları bile satır başına bir sütuna açılacaktı.

Çözüm: Görev yöneticisini Excel.exe'nin tüm açık örnekleri için kontrol edin. Tüm örnekleri kaldırın ve csv dosyasını tekrar açmayı deneyin.

facepalm


0

Kısa vadede, yalnızca size başka bir ülkeden gönderilen bir CSV dosyasını açmanız gerekiyorsa -

Dosyayı wordpad'de açın ve veren ülkenin kullandığı her ayırıcıyı (örn.) Değiştirmek ve virgül ile değiştirmek için find and change komutunu kullanın. (Örneğin ,).

Sadece veren ülkenin başka bir sembol yerine virgül kullanmadığını kontrol edin (örneğin İspanya'da virgül kullanarak ondalık virgül kullanıyoruz, virgülün yerini virgül ile ondalık virgül kullanarak bulup değiştirmek zorunda kalacaksınız) virgül ile).

Uzun vadeli bir çözüm değil, ancak acele ediyorsanız ve işyerinde kontrol paneline erişemiyorsanız, dosyanın kendisini okunabilir hale getirecek kadar iyidir.


0

Ben de aynı konuyu anladım. Excel'in yanlış ayrıştırdığını ve Alma Sihirbazı'na ihtiyaç duyduğu CSV dosyasını kullandım.

Basit düzeltme, CSV'yi TXT olarak yeniden adlandırmaktı ve Sihirbaz sütun yapısını doğru tanımaya yardımcı oldu.


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.