2013-06-11 11:04:23 +0000 2013-06-11 11:04:23 +0000
99
99

Hoe krijg je Excel zover dat het de komma interpreteert als een standaard begrenzer in CSV-bestanden?

Ik heb een aantal .csv-bestanden. Sommige van deze bestanden zijn door komma’s afgebakend, andere zijn door tabs afgebakend (misschien moeten ze .tsv heten …)

De csv-extensie wordt geassocieerd met Excel wanneer Excel wordt geïnstalleerd. Echter, als ik een van deze bestanden open met Excel, wordt alles in dezelfde kolom gedumpt en wordt de komma niet geïnterpreteerd als een scheidingsteken.

kan ik in plaats van Bestand -> Importeren…, het bestand selecteren, en de precieze manier kiezen om de inhoud te interpreteren (scheidingstekens, gegevenstypes, etc.) Maar meestal wil ik gewoon _het bestand bekijken door middel van een duidelijke tabelweergave. Ik wil het niet verwerken met Excel.

Is er een manier om Excel de begrenzer automatisch te laten interpreteren en het CSV-bestand als een goede tabel te laten zien zodra het wordt geopend? Ik heb dit nodig zodat ik Excel kan gebruiken als een snelle viewer voor dergelijke bestanden.

Ik vermoed dat er een manier moet zijn, anders zou Excel zich niet associëren met CSV-bestanden.

Antwoorden (9)

100
100
100
2013-12-10 14:38:58 +0000

Als u niet op zoek bent om het formaat van het bestand te wijzigen, en u richt zich ALLEEN op Excel, kunt u de volgende Excel-truc gebruiken om u te helpen.

Voeg een nieuwe regel toe aan de bovenkant van het bestand met de tekst "sep=," (inclusief aanhalingstekens) zodat Excel het bestand kan openen met “,” als lijstscheidingsteken.

Het is een zeer eenvoudige truc om te voorkomen dat u uw Windows regionale instellingen wijzigt en om een consistent resultaat te krijgen. Maar het is specifiek voor Excel.

85
85
85
2013-06-11 11:07:17 +0000

Bij het openen van CSV-bestanden zal Excel een systeemregionale instelling genaamd List separator gebruiken om te bepalen welke standaardafbakening moet worden gebruikt.

Microsoft Excel zal .csv-bestanden openen, maar afhankelijk van de regionale instellingen van het systeem kan het een puntkomma als scheidingsteken verwachten in plaats van een komma, aangezien in sommige talen de komma als decimaalscheidingsteken wordt gebruikt. (van Wikipedia )

  • *

Op Windows , kunt u de instelling List separator in het Regional and Language Options wijzigen zoals gespecificeerd op de Office support website :

Verander het scheidingsteken in een CSV-tekstbestand

  1. Klik op het Windows Startmenu.
  2. Klik op Configuratiescherm.
  3. Open het dialoogvenster Regionale en taalopties.
  4. Klik op het tabblad Regionale opties.
  5. Klik op Aanpassen / Extra instellingen (Win10).
  6. Typ een nieuw scheidingsteken in het lijstscheidingsteken.
  7. Klik tweemaal op OK.
  • *

Aanwijzing : dit werkt alleen als het Decimaalteken niet ook als komma wordt aangeduid (in overeenstemming met het bovenstaande Wikipedia-aanhalingsteken). Als dat wel het geval is, zal Excel niet komma gebruiken als scheidingsteken voor de lijst, zelfs als die is gekozen. Voor veel niet-Amerikaanse regio’s is de komma het standaard decimaalteken.

Op Mac OS X , deze instelling lijkt te zijn afgeleid van de instelling decimaalscheidingsteken (in het deelvenster Taal & Regio van Systeemvoorkeuren, ga naar Geavanceerd). Als het Decimaalscheidingsteken een punt is dan zal het standaard CSV scheidingsteken een komma zijn, maar als het Decimaalscheidingsteken een komma is dan zal het standaard CSV scheidingsteken een puntkomma zijn.

Zoals u zelf al zei in het commentaar, is er een alternatief voor Mac-gebruikers om snel naar die CSV-bestanden te kijken. Het is een plugin voor Quick Look genaamd quicklook-csv die het scheidingsteken detecteert.

11
11
11
2017-06-02 12:27:39 +0000

Je hebt de aanhalingstekens rond de sep=, niet nodig - zolang het maar de eerste regel van het bestand is werkt het, althans met Excel 2016.

Ik ontdekte dat als het bestand tabblad afgebakend is, sep=\t prima werkt, met en zonder de aanhalingstekens.

5
5
5
2018-07-21 11:55:56 +0000
1
1
1
2019-09-23 12:03:13 +0000

Ik had een .csv-bestand met scheidingsteken ; en regionale instellingen ingesteld op Lijstscheidingsteken ;. Excel heeft echter nog steeds de kolommen niet ontleed.

Het bleek een codeerprobleem te zijn. De bestanden werden geëxporteerd van SQL server Management Studio 2005 en werden gecodeerd in UCS-2 LE BOM. Met behulp van Notepad ++ schakelde ik de codering over naar UTF-8 en alles begon te werken.

1
1
1
2018-06-25 14:46:53 +0000

Wanneer het scheidingsteken in de regionale instellingen geen komma maar een puntkomma is, hernoem dan het CSV-bestand naar een TXT-bestand. Klik met de rechtermuisknop op het TXT-bestand en selecteer “Openen met” en selecteer “Excel”. Selecteer in Excel de eerste kolom, selecteer gegevens in de ribbon en scheid tekst naar kolommen.

OR

Installeer LibreOffice en open het CSV-bestand met LibreOffice Calc.

0
0
0
2018-01-22 13:50:36 +0000

Voor het Nederlands had ik een probleem dat Excel 2008 op Windows 7 niet voldeed aan RFC4180:

“Velden met regeleinden (CRLF), dubbele aanhalingstekens en komma’s moeten in dubbele aanhalingstekens worden ingesloten”

Een door komma’s gescheiden bestand had correct velden met een komma (Nederlands decimaalscheidingsteken) in dubbele aanhalingstekens ingesloten. In de Nederlandse locale is het decimaalscheidingsteken , en het lijstscheidingsteken ; zodat Excel een bestand met , dat voor beide wordt gebruikt niet kon lezen (zelfs niet na het expliciet wijzigen van het lijstscheidingsteken in , in het Configuratiescherm).

De invoer ziet er als volgt uit:

"06-07-2017 17:03:18"," ********",0:01:04,Uitgaand,"0,1879","0,2273","0,0395",21

De oplossing werd gegeven door @user280725:

Gebruiksbriefje om als eerste regel in te voegen:

sep=,

(Dit betekent dat de opmerking van gebruiker @zakinster in zijn oplossing niet meer van toepassing hoeft te zijn. )

  • * Interessant: met het csv-bestand nog steeds geladen, als u nu de locale op US English in Control Panel instelt en het bestand opslaat, zal het zijn geconverteerd naar US English formaat (komma als lijstscheidingsteken en punt als decimaalscheidingsteken).
0
0
0
2017-06-12 17:22:25 +0000

Zorg ervoor dat je het CSV-bestand in een eenvoudige editor zoals Notepad inspecteert om te controleren of het goed geformatteerd is.

Ik heb dit antwoord toegevoegd nadat ik een stomme bug had opgelost waarin CSV-bestanden die ik met VB had gemaakt niet met aparte kolommen in Excel werden geopend. Ik ontdekte dat de manier waarop ik de regels had geschreven elke regel met aanhalingstekens omwikkelde. Excel verborg de aanhalingstekens en toonde de hele regel in kolom A, waardoor het leek alsof het mijn komma scheidingstekens negeerde.

0
0
0
2017-07-31 06:30:51 +0000

het beste is om het op te slaan in een tekstbestand met de extensie csv

Sub ExportToCSV()
    Dim i, j As Integer
    Dim Name As String

    Dim pathfile As String

    Dim fs As Object
        Dim stream As Object

        Set fs = CreateObject("Scripting.FileSystemObject")
    On Error GoTo fileexists

    i = 15
    Name = Format(Now(), "ddmmyyHHmmss")
    pathfile = "D:\" & Name & ".csv"

    Set stream = fs.CreateTextFile(pathfile, False, True)

fileexists:

    If Err.Number = 58 Then
        MsgBox "File already Exists"
        'Your code here
        Return
    End If
    On Error GoTo 0

    j = 1
    Do Until IsEmpty(ThisWorkbook.ActiveSheet.Cells(i, 1).Value)

        stream.WriteLine (ThisWorkbook.Worksheets(1).Cells(i, 1).Value & ";" & Replace(ThisWorkbook.Worksheets(1).Cells(i, 6).Value, ".", ","))

        j = j + 1
        i = i + 1
    Loop

stream.Close

End Sub