CSV'yi Excel'de virgülle açmanın en kolay yolu


196

CSV dosyaları Excel ile otomatik olarak ilişkilendirilir, ancak onları açtığımda, tüm satırlar temel olarak ilk sütundadır, şöyle:

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

Muhtemelen Excel "virgülle ayrılmış değerler" olduğunu düşündüğünde, aslında başka bazı sınırlayıcıları arar (bence noktalı virgül ancak önemli değil).

Şimdi bu dosyayı Excel'de zaten açtığımda, "bu dosyayı yeniden aç ve sınırlayıcı olarak virgül kullan" diyen bir düğme veya bir şey var mı?

Verileri yeni bir çalışma sayfasına vs. aktarabileceğimi biliyorum, ancak özellikle içinde içinde virgül bulunan bir CSV dosyasına sahip olduğum durumla ilgili yardım istiyorum ve yeni çalışma kitabı oluşturmadan veya dönüştürmeden Excel'de açmak istiyorum. Orijinal dosya.


2
Sınırlayıcıların ötesinde bir dizi nedenden ötürü, varsayılan ayarları kullanarak Excel'in CSV'yi (veya başka bir düz metin dosyasını) açmasına izin vermek çok kötü bir fikirdir. Kaynak dosyanıza bağlı olarak, verilerinizi bozarsınız. Bu konuda derinlemesine bir makale yazdım: theonemanitdepartment.wordpress.com/2014/12/15/…
Wouter

4
Microsoft'un içinde neler olup bittiğini anlamak çok zor, Excel hala CSV dosyalarını bu şekilde açamıyor. Aynı zamanda şaşırtıcı şekilde sayıları vs. JavaScript bile o kadar kötü bir şekilde dönüştürmez.
usr

Mezar kazmak için üzgünüm .. ama çok iyi bir şans herhangi virgül yok ilk satırı çalışırken vazgeçmek Excel neden olan gerçek vardır
patricktokeeffe

Sadece ;sınırlayıcı olarak kullanın ve çift tıklatarak açılış dosyası MS Excel'deki sütunlara ayrılacaktır.
Hrvoje T

Yanıtlar:


179

Gidin Veri sekmesi ve seçmek sütunlara metni altında veri araçları daha sonra seçin ayrılmış ve isabet sonraki . Ardından sınırlayıcı olarak virgül seçin ve bitiş tuşuna basın

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


55
Bunu Windows Gezgini'nde * .csv öğesine çift tıkladıktan sonra her zaman yapmanız gerekiyor mu? Bir şekilde, özellikle Excel kendini * .csv dosya uzantısıyla ilişkilendirirse daha kolay bir yol olmadığına inanamıyorum.
Borek Bernard

3
Genellikle, dosyayı açtığınızda bu işlemi yapmanız için bir sihirbaz açılmalıdır, ancak değilse, bu şekilde yapabilirsiniz. Ayrıca veriye gidebilir - dış verileri alabilir - metinden ve içe aktarma sihirbazını oradan çalıştırabilirsiniz.
Raystafarian

13
Sorun bu, herhangi bir veri almak istemiyorum , Excel'in kendisiyle bile ilişkili olduğu geçerli bir CSV dosyası açıyorum. Fakat Tamam, öyleyse, muhtemelen CSV dosyalarını düzenlemek için başka bir şey bulmam gerekecek.
Borek Bernard

2
Evet, bir PITA, burada Excel 2003 ile aynı. Data \ Import kullanmam da gerekiyor. Gerçekten bir kendi içinde bir sorun, ama öyle düzenli unutup ilk ;-( / Open File deneyin sadece yılda iki kez bu ithalat yapmak
Jan Doggen

1
@gstackoverflow yapabilirsiniz, sadece A sütununu seçip bunu yapın.
Tom,

162

yerleştirme:

sep=<delimeter>

csv dosyanızın ilk satırı otomatik olarak Excel'e bu karakteri varsayılan virgül yerine ayırıcı olarak kullanmasını söyler.

Örneğin:

sep=|
COLUMN1|COLUMN2
data,1|data2
...

Kullanıcının önce içe aktarma sihirbazından geçmesine gerek kalmadan, virgül yerine (|) sınırlayıcı olarak virgül kullanılmasına neden olur.


7
Bu Excel 2013 çalışma için, gereken işaretini Use system separators deOptions>Advanced
Michael Field

1
Ondalık ayırıcıyı benzer şekilde tanımlayabilir misiniz? Öyle olsun istiyorum ., çünkü 1.5benim sistemimde .binlerce kişi için ayırıcı var.
CGFoX

2
Bu benim için çalıştı, "Sistem ayırıcılarını kullan" kontrol etmeme rağmen. Başka hiçbir çözüm benim için işe yaramadı.
korku

Bunun Excel 2016'da "Sistem ayırıcıları kullan" seçeneğiyle çalıştığını onaylayın. Bu harika.
Bas

Aptal bir soruna mükemmel bir çözüm! (Excel kullanılan ayırıcıyı tanımalı veya en azından bana sormalı ve karar vermeme izin vermeli!) Sıradaki : Excel'i başka bir karakter seti kullanmaya zorlamak mümkün mü? Tüm CSV'm UTF-8'de, ancak Excel bunları 'Macintosh' olarak açmaya çalışıyor, bu benim için çok fazla sorun yaratıyor !!
qualbeen

51

Bu sorunu çözmeyi başarabildiyseniz bilmiyorum, ama aynı sorunu yaşadım ve bazı araştırmalardan sonra çözdüm.

Bunun bölgesel bir sorun olduğu ortaya çıktı;

Kontrol panelinize -> Bölgesel Ayarlar -> Gelişmiş Ayarlar'a gidin ve liste ayırıcınızı virgül olarak değiştirin .

Mine, Windows 8'e geçtikten sonra Güney Afrika için yarı-kolon olarak ayarlandı. Onu virgülle değiştirdikten sonra, tüm CSV'lerim Excel 2013 ile doğru bir şekilde açıldı.

Bu yardımcı olur umarım.

Ek yorum:
Lèse majesté ile aynı adımları kullandım, ancak Ondalık sembolünü virgülden (,) tam noktaya (.) Değiştirdim ve sorunumu düzeltti.

Bunun nedeni, Varsayılan olarak, Windows 8'in Ondalık sembolü olarak virgül kullanması ve hem karakterleri ayırıcı hem de Ondalık sembolü olarak kullanması gerektiğinde Excel'in kafası karışmasıdır.


Zaten bu şekilde ayarlanmış ve excel tarafından göz ardı edilmiştir. Hala virgüllerde ayrılmıyor.
Elliot

Ir muhtemelen en azından bir oturum kapatmayı gerektirir, etkin olması için oturum açın.
Gert van den Berg

Ondalık sembolü değiştirdikten sonra benim için çalıştı, teşekkürler!
James Cameron

1
Yine de, Excel'in bir dosya formatını okumak için bölgesel ayarları kullanmasının çok garip olduğunu düşünüyorum!
korku

Teşekkürler. Bu ayar işte benim için büyük bir sorunu çözdü. Excel çok aptalca!
Moha

19

Bu benim için işe yarayan şeydi - buradaki bazı cevapların bir birleşimidir.

(Not: Bilgisayarım, sayıları bu şekilde biçimlendiren bir Çek formatı ayarları kullanıyor: 1 000,00yani virgül, ondalık ayırıcı olarak kullanılır ve binlik ayırıcı olarak boşluk kullanılır. Sistem ayarlarında varsayılan liste ayırıcıdır ;.)

  1. Sistem Listesi ayırıcısını Bölge'deki virgülle değiştirdim -> Ek ayarlar
  2. Excel 2013'te Seçenekler -> Gelişmiş ve işaretlenmemiş Sistem ayırıcıları kullan (ilk bölüm olan "Düzenleme Seçenekleri" altında) seçeneğine gittim.
  3. Excel'de ondalık ayırıcıyı. ve binlerce ayırıcıyı ayarladım ,(binlerce ayırıcı muhtemelen önemli değil, ancak ABD biçimlendirmesiyle tutarlı hale getirmek istedim)

Adım 2 + 3'e bir alternatif, bu ayarları sistem ayarlarında değiştirmek olabilir (adım 1), ancak genelde bir Çek yerel ayarına göre biçimlendirilmiş numaralara sahip olmak istiyorum.

Dezavantajları : Excel'de artık ABD yerel ayarını kullanarak virgül yerine nokta kullanarak ondalık sayıları girmem gerekiyor. Bu biraz doğal değil gibi geliyor ama benim için kabul edilebilir bir durum. Neyse ki, num-pad üzerindeki virgül tuşu otomatik olarak nokta anahtarına dönüştü (ve sadece Excel'de - diğer uygulamalar hala virgül veriyor).


Excel 2010 / cz :-( ile çalışmaz
Leos Literak

@LeosLiterak: Yine de Excel 2013'te denedim ve çalıştı.
Sk8erPeter

10

Görünüşe göre Excel, CSV'ler için varsayılan sınırlayıcı için bir Windows 7 bölgesel ayarı kullanmaktadır (görünüşe göre varsayılan olarak bir sekmedir). Bu ayarı bu şekilde değiştirebilirsiniz .

Ancak bunun başka ne gibi yan etkileri olacağını bilmiyorum. Bilgisayarınızdaki tüm CSV dosyalarının virgülle ayrılmış durumda olduğunu varsayalım, o zaman herhangi bir sorun olmamalıdır. Ancak, CSV dosyalarını da kullanan başka bir (muhtemelen Microsoft) programınız varsa ve normalde farklı bir sınırlayıcıyla biçimlendirilmiş CSV'ler kullanıyorsa, bu sorunlu olabilir.

Örneğin, Outlook, kişileri almak / vermek için sekmeyle ayrılmış CSV'ler kullanıyorsa ve bu tür CSV'leri dışarıdan bir kaynaktan (Gmail, başka bir bilgisayar, ne olursa olsun ...) alırsanız, bu sistem genelinde ayarların değiştirilmesi Outlook'un açılmasını engelleyebilir bu sekmeyle ayrılmış CSV'ler.


3
"Bölgesel ve dil ayarları" nı değiştirmeyi denedim> Formatlar> Ek ayarlar> Liste ayırıcı, ancak CVS dosyalarını Excel'de açma üzerinde hiçbir etkisi olmadı. Yani ne yazık ki, bu bir çözüm değil.
Borek Bernard,

2
Excel 2010 ve Windows 7 için de aynı. Zaten ayarlarımdaydı ve Excel hala sekmeyi değiştiriyor.
Rhsatrhs

Denetim Masası'ndaki bu kutuya 2 farklı karakter girebilir miyiz? Örneğin ;,her iki karakterin de liste uygulayıcıları olmasına izin vermek için?
Dzhuneyt

7

LibreOffice Calc ayırıcıları, formatları ve kodlamaları seçmenizi sağlayan çok gelişmiş bir csv filtresine sahiptir. Verilerle çeşitli biçimlerde yoğun olarak çalışıyorum ve bu verileri Excel biçiminde kullanıcılara göndermem gerekiyor. Csv dosyalarını istenen formata dönüştürmek için LibreOffice Calc kullanıyorum, sonra xls olarak kaydediyorum.

Excel'de kolayca nasıl yapıldığını cevaplamayabilir, ancak yorumlarda OP'nin excel dışında bir şey kullanmanın kabul edilebilir bir seçenek olacağını öne sürdüğü için kolayca nasıl yapıldığını cevaplayabilir.


4

Excel 2010 - Bölgesel Gelişmiş Ayarlarınızı doğrulamanın yanı sıra, Excel Gelişmiş ayarınızı da kontrol ettiğinizden emin olun:

Dosya -> Seçenekler -> Gelişmiş

"Sistem ayırıcılarını kullan" seçeneğinin işaretli olduğundan emin olun.


2
Ya da, elbette, bu emin olmak değil size bölgesel ayarlardan farklı bir şey almak istiyorsanız kontrol etti. :-) Fakat: Bu ayarın var olduğunu bilmek güzel; Bunu daha önce hiç duymamıştım.
Arjan,

1
Bu ayarlar liste ayırıcıyı değil, sayı ayırıcıları etkiliyor gibi görünmektedir.
Borek Bernard

3

Çapraşıklar için adım adım bir rehber:

  1. Windows tuşuna basın
  2. " İntl.cpl " yazın ve Enter'a basın.
  3. " Ek Ayarlar " ı tıklayın .
  4. " Sayılar " sekmesine gidin:
  5. Change Ondalık Sembolü a nokta .
  6. " Rakam Gruplaması Sembolü " boşluğuna değiştirin .
  7. " Liste Ayırıcı " yı virgül olarak değiştirin .
  8. " Para Birimi " sekmesine gidin:
  9. Change Ondalık Sembolü a nokta .
  10. " Rakam Gruplaması Sembolü " boşluğuna değiştirin .

Her zaman kendi oluşturduğunuz .CSV dosyalarınızı kullanıyorsanız sorun değil. Ancak ayırıcı olarak virgül kullanan bir başkasından bir dosya aldığınızda çalışmaz.
stevenvh

0

Ondalık ayırıcı olarak değiştiriliyor. (nokta) ve liste ayırıcı, (virgül), Norveçli bilgisayarlarda Excel'de CSV'nin normal görünümde kalmasına yardımcı oldu.


Bulgarca'da ayrıca
Петър Петров

0

Sistemim için, ayarlar zaten burada başkalarının önerdiği şekilde ayarlanmış (Ondalık simgesi. (Nokta) ve Liste Ayırıcı olarak ayarlanmış, (virgül) olarak ayarlandı. .

Küçük bir deneme yanılma sonrasında her CSV dosyasını doğru görünümde açan bir çözüm buldum.

İşte benim için Excel 2013'te Windows 8 ile çalıştı:

Denetim Masası> Saat, Dil ve Bölge> Bölge> Ek Ayarlar> Liste ayırıcı ,; (virgül ve yarı sütun) -> "Uygula" ya tıklayın ve sonra hile yapıp yapmadığına bakın.


0

Excel'de, VERİLER sekmesinde, Dış Veri Al alt bölümünde, " Metinden " düğmesini tıklayın ve CSV'nizi Sihirbaz'a alın.


0

Bir yanıtın zaten kabul edildiğini biliyorum, ancak kontrol edilmesi gereken bir öğe CSV dosyasının kodlanması. CSV dosyalarını üreten bir Powershell betiği var. Varsayılan olarak, onları UCS-2 Little Endian (Notepad ++ başına) olarak kodluyordu . Dosyayı Excel'de tek bir sütunda açacaktı ve sütunları bölmek için Sütunlar Metin dönüşümünü yapmak zorunda kalacağım . Komut dosyasını "ASCII" ile aynı çıktıyı kodlayacak şekilde değiştirmek ( Notepad ++ başına UTF-8 BOM yok ) CSV'yi doğrudan sütunların ayrılmasıyla açmamı sağladı. CSV'nin kodlamasını da Notepad ++ ile değiştirebilirsiniz .

  • Menü Kodlama > Malzeme Listesi olmadan UTF-8'e dönüştürme
  • CSV dosyasını kaydedin
  • Excel'de aç, sütunlar bölünmeli

BOM olmadan ASCII ve UTF-8 aynı şey değil. Aslında, ASCII UTF-8'in standart kapsamında olduğu gibi sorunsuz bir şekilde BOM ile UTF-8'e uyar. ASCII'de yer almayan karakterler ortaya çıkar çıkmaz, bunun yerine ANSI veya UTF-8 çıktısını alabilir ... Çıktıda ASCII dışında hiçbir şey
kalmazsa,

0

Yeni Excel sürüm 2010 ile bir .CSV dosyasını bir metin dosyası olarak açabilirsiniz (menü: Dosya, Aç veya control-O). Ardından, doğru alan sınırlayıcısını seçebileceğiniz LibreOffice Calc ile olduğu gibi sihirbazı doğrudan alırsınız.

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

Bu sadece uygun .CSV uzantılı dosyaları ile çalışır. Uygulamam .ACC uzantılı CSV çıktıları üretmek ve yukarıdaki yöntemle excel'de açmaya çalışmak sizi tamamen farklı excel köşelerine yönlendirdi :-(

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.