¿Cómo guardo una hoja de cálculo de Excel como un archivo de valores separados por punto y coma?

31

Estoy ejecutando Excel y me gustaría exportar mi archivo como una hoja .scsv (valores separados por punto y coma) en lugar de una .csv. ¿Hay alguna forma de hacer esto?

PD. No puedo hacer un .csv y buscar y reemplazar comas con punto y coma porque los campos ya contienen comas.

Kamilski81
fuente
Si está dispuesto a hacer un poco de programación, un convertidor podría escribirse con bastante facilidad en el lenguaje de programación Python utilizando su csvmódulo incorporado, lo que facilitaría la lectura de archivos .csv de Excel y luego escribir nuevas versiones de ellos que acababan de sobre cualquier delimitador que desee.
Martineau
Depende de si hay comas en las entradas o no.
AER

Respuestas:

20

¿Qué tal hacer Tab Delimitado y reemplazar las pestañas con punto y coma?

En Excel: Archivo -> Guardar como -> en Formato, seleccione "Texto delimitado por tabulaciones (.txt)" y luego guardar.

Abra el archivo en el bloc de notas y abra la ventana de reemplazo. Como no puede tabular directamente en esta ventana, copie una pestaña de su documento y luego péguela en el cuadro Buscar y coloque su; en la caja de reemplazo. Luego reemplace todo.

Supongo que esto funcionaría porque es muy raro tener pestañas dentro de un documento de Excel.

Robert
fuente
Aunque es básico para la mayoría de los usuarios, ¿podría proporcionar también un conjunto de instrucciones?
Canadian Luke REINSTATE MONICA
¿Se puede hacer eso completamente dentro de Excel y si es así, cómo?
Martineau
No creo que se pueda hacer completamente en Excel. Excel oculta el formateo (pestañas) para que no pueda reemplazarlos. Después de reemplazarlos con punto y coma, tampoco podría abrir con Excel (solo sería una celda gigante)
Robert
Supongo que usar regex para reemplazar y colocar \tfuncionaría
Yassin Hajaj
Cuando tiene caracteres especiales de un idioma diferente en su archivo (como el griego), esto no parece funcionar ya que los símbolos de los caracteres se reemplazan con '?'
Joos
8

No creo que pueda establecer el separador de salida directamente en Excel, pero (suponiendo que Windows) podría cambiar el separador de la lista del sistema operativo ;, eso se hace en Regional Settings->Customize. Excel usará esa configuración para generar sus archivos csv.

wmz
fuente
55
Nota importante: si hace esto, todos los programas de Windows que usan las bibliotecas internacionalizadas de Windows asumirán eso; es el carácter separador para todos los archivos CSV. Si esta es una solución única, probablemente tenga más sentido guardar un archivo CSV normal y usar un editor para cambiar las comas a punto y coma
Isaac Rabinovitch
Este cambio también afectará la apertura de archivos CSV en Excel. Y como se menciona en el comentario anterior, posiblemente más programas. Si desea hacer un archivo CSV más compatible, colóquelo sep=;encima del archivo CSV, luego, una vez que guarde el archivo, puede volver a cambiar el Separador de lista a lo que sea.
papo
7

Use LibreOffice Calc (es una descarga gratuita y funciona en todos los principales sistemas operativos).

Para guardar en valores separados por punto y coma:

  1. Abra su archivo xlsx / csv
  2. Archivo -> Guardar como ...
  3. Elija "Filtro CSV" como filtro (debe ser el predeterminado si su nombre de archivo termina con .csv)
  4. Marque "Editar configuración de filtro" y presione Guardar
  5. Cuando solicite confirmación del formato de archivo, presione "Usar formato de texto CSV"
  6. Cambie el "Delimitador de campo" a un punto y coma (puede escribir cualquier cosa aquí).
  7. Presiona OK.

LO Calc manejará correctamente comas y punto y coma en los valores de las celdas.

nada101
fuente
1
Gracias, funciona bien Esta debería ser la respuesta aceptada.
Ortomala Lokni
4

Si desea un script, pegue lo siguiente en un módulo.

Option Explicit
Sub export2scsv()
    Dim lastColumn As Integer
    Dim lastRow As Integer
    Dim strString As String
    Dim i As Integer, j As Integer

    lastColumn = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count
    lastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row

    Open "output.scsv" For Output As #1

    For i = 1 To lastRow
        Cells(i, 1).Select
        strString = ""
        For j = 1 To lastColumn
            If j <> lastColumn Then
                strString = strString & Cells(i, j).Value & ";" ' Use semicolon instead of pipe.
            Else
                strString = strString & Cells(i, j).Value
            End If
        Next j
        Print #1, strString
    Next i

    Close #1
End Sub
usuario157938
fuente
4

Para cambiar la coma a punto y coma como el separador de Excel predeterminado para CSV, vaya a Región -> Configuración adicional -> pestaña Números -> Separador de lista y tipo; en lugar del predeterminado,

Miguel
fuente
3

Puede cambiar el separador globalmente a través de Personalizar formato.

Vaya a Región e idioma, abra Región, en Formatos de hoja de pestañas, haga clic en el botón Configuración adicional y en Números de hoja de pestañas cambie el valor del separador de Lista:

Tarifa de Santa
fuente
No solo publique un enlace a la respuesta, incluya los detalles más destacados en la respuesta. Si la página de destino desaparece, entonces la respuesta es inútil. Además, aunque no soy un experto en Windows, esto se ve igual que la respuesta de wmz de hace tres años.
blm
0

1.> Cambiar el formato de archivo a .CSV (delimitado por punto y coma)

Para lograr el resultado deseado, necesitamos cambiar temporalmente la configuración del delimitador en las Opciones de Excel.

Mover a Archivo -> Opciones -> Avanzado -> Sección de Edición

Desmarque la opción "Usar separadores del sistema" y coloque una coma en el campo "Separador decimal".

¡Ahora guarde el archivo en formato .CSV y se guardará en el formato delimitado por punto y coma!

usuario318853
fuente
55
Tomado de ashwaniashwin.wordpress.com/2013/04/19/… Tenga en cuenta que se requiere atribución.
Arjan
0

Si su lista de valores está en la columna A, intente esto: Celda B2 = A1 & ";" & A2 Celda B3 = B2 & ";" & A3 Copie la celda B3 al final de su lista. Si copia y pega la última celda de su lista como valores, tendrá su lista separada por punto y coma. Luego puede copiarlo en el Bloc de notas, Word o donde lo desee.

jabalí
fuente
0

Puede hacerlo fácilmente en 4 pasos con la función de concatenación de Excel.

  1. En su archivo, agregue una columna de caracteres de punto y coma donde esperaría que aterrizaran en una exportación .csv.

  2. Comience una nueva columna al final de sus datos y en la primera fila, use la =concatenate()función. Asegúrese de seleccionar todas las celdas que desea que aparezcan en el archivo final. Tu fórmula se verá algo así=concatenate(A1,A2,A3...)

  3. Copie y pegue la fórmula resultante hacia abajo a través de todas las filas de datos.

  4. Seleccione toda la columna de fórmulas y Pegue Especial -> Valores en la columna vecina. Ahora tiene todos sus datos delimitados por punto y coma.

Finalmente, exporte a su formato de archivo de elección. Si exporta esto como .txt en Windows, simplemente puede cambiar la extensión del archivo a .csv porque ambos son formatos de texto sin formato.

Greg Cavanaugh
fuente
-3

Yo uso de manera simple: -

  1. Abra el archivo csv (punto y coma) con Notepad o Notepad ++.
  2. Buscar y reemplazar (Ctrl + H) desde punto y coma (;) a coma (,).
  3. Guardar y cerrar archivo.
  4. Ahora, abra el archivo de modificación con Ms-Excel.
viña
fuente
Esto solo funciona si ninguna cadena contiene un ";" o "," de lo contrario, esto no generaría lo que el autor realmente quiere.
Ramhound
1
Esto va en la dirección equivocada. La pregunta pregunta cómo crear un archivo de valores separados por punto y coma; esta respuesta supone que ya existe un archivo de valores separados por punto y coma y describe cómo crear un archivo CSV, incorrectamente, ya que no tiene en cuenta la restricción clave de la pregunta: es decir, que se sabe que los datos contienen el delimitador .
G-Man dice 'reinstalar a Mónica' el