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

¿Cómo hacer que Excel interprete la coma como un delimitador por defecto en los archivos CSV?

Tengo varios archivos .csv. Algunos de ellos están delimitados por la coma, otros por la tabulación (tal vez deberían llamarse .tsv …)

La extensión csv se asocia con Excel cuando se instala Excel. Sin embargo, si abro uno de estos archivos con Excel, todo se vuelca en la misma columna y la coma no se interpreta como un delimitador.

Puedo en lugar de Archivo -> Importar…, seleccionar el archivo, y elegir la forma precisa de interpretar el contenido (delimitadores, tipos de datos, etc.) Pero la mayoría de las veces sólo quiero mirar el archivo a través de una vista de tabla clara. No quiero procesarlo con Excel.

¿Hay alguna manera de hacer que Excel auto-interprete el delimitador y muestre el archivo CSV como una tabla adecuada tan pronto como se abra? Necesito esto para poder usar Excel como un visor rápido para tales archivos.

Sospecho que debe haber una manera, de lo contrario Excel no se asociaría con los archivos CSV.

Respuestas (9)

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

Si no desea modificar el formato del archivo, y SOLO tiene como objetivo a Excel, puede usar el siguiente truco de Excel para ayudarle.

Añada una nueva línea en la parte superior del archivo con el texto "sep=," (incluyendo las comillas) para que Excel abra el archivo con “,” como separador de listas.

Es un truco muy fácil para evitar cambiar la configuración regional de Windows y obtener un resultado consistente. Pero es específico de Excel.

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

Al abrir los archivos CSV, Excel utilizará un ajuste regional del sistema llamado List separator para determinar qué delimitador predeterminado utilizar.

Microsoft Excel abrirá los archivos .csv, pero dependiendo de los ajustes regionales del sistema, puede esperar un punto y coma como separador en lugar de una coma, ya que en algunos idiomas la coma se utiliza como separador decimal. (de Wikipedia )


En Windows , puede cambiar la configuración de List separator en el Regional and Language Options como se especifica en el sitio web de soporte de Office :

Cambiar el separador en un archivo de texto CSV

  1. Haga clic en el menú Inicio de Windows.
  2. Haga clic en Panel de control.
  3. Abra el cuadro de diálogo Opciones regionales y de idioma.
  4. Haga clic en la pestaña Opciones regionales
  5. Haga clic en Personalizar / Configuración adicional (Win10).
  6. Escriba un nuevo separador en el cuadro Separador de listas.
  7. Haga clic en OK dos veces.
  • *

Nota : esto sólo funciona si el símbolo decimal no se designa también como coma (en línea con la cita de Wikipedia anterior). Si lo es, Excel no usará la coma como separador de la lista, incluso si se elige. Para muchas regiones que no son de Estados Unidos, la coma es el símbolo decimal predeterminado.

En Mac OS X , esta configuración parece deducirse de la configuración del separador decimal (en el panel Idioma y región de Preferencias del sistema, vaya a Avanzado). Si el Separador de decimales es un punto, entonces el separador CSV por defecto será una coma, pero si el Separador de decimales es una coma, entonces el separador CSV por defecto será un punto y coma.

Como usted mismo dijo en el comentario, hay una alternativa para que los usuarios de Mac miren rápidamente esos archivos CSV. Es un plugin para Quick Look llamado quicklook-csv que maneja la detección de separadores.

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

No necesitas las comillas alrededor del sep=, - mientras sea la primera línea del archivo funcionará, al menos con el Excel 2016.

descubrí que si el archivo está delimitado por tabulaciones, sep=\t funciona bien, con y sin las comillas.

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

Tenía un archivo .csv con el separador ; y la configuración regional establecida en el separador de listas ;. Sin embargo, Excel todavía no analizó las columnas.

Resultó ser un problema de codificación. Los archivos se exportaron desde el servidor SQL Management Studio 2005 y se codificaron en UCS-2 LE BOM. Usando el Bloc de Notas ++ cambié la codificación a UTF-8 y todo empezó a funcionar.

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

Cuando el separador en los ajustes regionales no es una coma sino un punto y coma (separador holandés), renombre el archivo CSV a un archivo TXT. Haga clic con el botón derecho del ratón en el archivo TXT y seleccione “Abrir con” y seleccione “Excel”. En Excel seleccione la primera columna, seleccione los datos en la cinta y separe el texto en columnas.

OR

Instale LibreOffice y abra el archivo CSV con LibreOffice Calc.

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

Para el holandés tuve un problema que el Excel 2008 en Windows 7 no se adhería al RFC4180:

“Los campos que contengan saltos de línea (CRLF), comillas dobles y comas deben ir entre comillas dobles”

Un archivo separado por comas tenía correctamente los campos con una coma (separador decimal holandés) entre comillas dobles. En el idioma holandés el separador decimal es , y el separador de listas es ;, por lo que Excel no podía leer un archivo con , usado para ambos (ni siquiera después de cambiar explícitamente el separador de listas a , en el Panel de Control).

La entrada tiene el siguiente aspecto:

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

La solución fue dada por @user280725:

Utilizar el Bloc de Notas para insertar como primera línea:

sep=,

(Esto significa que la Nota del usuario @zakinster en su solución ya no necesita aplicarse. )


Interesante: con el archivo csv todavía cargado, si ahora establece la localización al inglés de EE.UU. en el Panel de Control y guarda el archivo, se habrá convertido al formato del inglés de EE.UU. (la coma como separador de lista y el punto como separador decimal).

0
0
0
2017-06-12 17:22:25 +0000

Asegúrate de inspeccionar el archivo CSV en un simple editor como el Bloc de Notas para verificar que está correctamente formateado.

Añadí esta respuesta después de resolver un estúpido error por el que los archivos CSV que creé con VB no se abrían con columnas separadas en Excel. Descubrí que la forma en que había escrito las líneas envolvía cada línea con comillas. Excel ocultó las comillas y mostró toda la línea en la columna A, haciendo parecer que ignoraba mis separadores de coma.

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

la mejor manera será guardarlo en un archivo de texto con extensión 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