Excel solo coloca comillas alrededor de ciertos campos, ¿cómo fuerzo a Excel a guardar un archivo CSV con comillas alrededor de cada columna?
Excel solo coloca comillas alrededor de ciertos campos, ¿cómo fuerzo a Excel a guardar un archivo CSV con comillas alrededor de cada columna?
Respuestas:
Si abre el archivo XLS en LibreOffice u OpenOffice, luego Guardar como ... y elige Text CSV, permite generar un archivo CSV que también incluye comillas como delimitadores. Por ejemplo: "Smith", "Pete", "Canadá" "Jones", "Mary", "Inglaterra"
Simplemente marque la casilla "Citar todas las celdas de texto":
Para también citar campos numéricos, resalte su rango de celdas y cambie el formato de las celdas a "texto" antes de guardar.
Esta página también tiene la solución que viene directamente de la boca del caballo:
http://support.microsoft.com/kb/291296/en-us
Si el enlace se degrada, el tema a buscar es:
"Procedimiento para exportar un archivo de texto con delimitadores de comas y comillas en Excel" y / o "Q291296"
tl; dr: usa su macro
Encontré esta solución fácil:
"''"@"''"
(vea los detalles a continuación)La cadena que está pegando es "''"@"''"
comillas dobles, comillas simples, comillas simples, comillas dobles, símbolo @, comillas dobles, comillas simples, comillas simples, comillas dobles.
Editado para Excel 2010 a partir de la información que se encuentra aquí .
\"@\"
Powershell parece volcar correctamente. entonces algo como
busque powershell.exe en la máquina Windows si no conoce powershell.
import-csv C:\Temp\Myfile.csv | export-csv C:\Temp\Myfile_New.csv -NoTypeInformation -Encoding UTF8
Espero que ayude a alguien.
import-csv Myfile.csv | export-csv Myfile_quoted.csv -NoTypeInformation -Encoding UTF8
. recuerde utilizar comillas simples alrededor de nombres de archivos con espacios u otros caracteres especiales.
Esto fue lo más fácil para mí: importé la hoja de cálculo a Access 2010 y la exporté desde allí como un archivo de texto delimitado. Me dio las comillas alrededor de mis campos. Toma menos de un minuto para 42k filas ahora que tengo los pasos hacia abajo.
He encontrado otro trabajo que no involucra la macro VBA, pero que requiere Notepad ++ o un editor de texto similar basado en macro.
Exporte su archivo como texto separado por tabuladores, luego abra el archivo exportado en Notepad ++. Reemplace todas las instancias del carácter 'tabulador' con el texto "," (es decir, literalmente comillas dobles, comas, comillas dobles) y luego use otra macro para prefijar y sufijar cada línea de texto con comillas dobles.
Un poco hacky pero lo encontré más rápido que hacer funcionar una macro VBA.
Resalte las celdas que desea agregar las comillas. Vaya a Formato -> Celdas -> Copiar / Pegar de forma personalizada lo siguiente en el campo Tipo: \ ”@ \” Haga clic en “Aceptar”. Se alegra de no haberlo hecho todo a mano.
De: http://www.lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/
"''"@"''"
(vea los detalles a continuación)' '
(comillas simples repetidas) con "
(comillas dobles);
Si usa Notepad ++ para agregar comillas al comienzo de cada línea, simplemente abra el archivo csv exportado, coloque el cursor en la primera línea, primera columna, luego haga clic en el menú Editar / Editor de columnas ... , en el campo ' Texto para insertar ', enter " , luego el comienzo de cada línea tendrá una cita, luego puede usar expresiones regulares para buscar / reemplazar todas las pestañas.
Para usuarios de Windows
Tenga en cuenta que esta no es la misma cita de teclado que tiene una variedad hacia adelante y hacia atrás.
Entonces, si usa CSV para CARGAR en la tabla Mysql, corte y pegue en el parámetro CERRADO; de lo contrario, se preguntará por qué recibe el mensaje#1083 - Field separator argument is not what is expected
Utilicé el siguiente enfoque para tomar tres columnas en Excel y construir la cadena en la cuarta columna.
=CHAR(34)&A2&CHAR(34)&","&CHAR(34)&B2&CHAR(34)&","&CHAR(34)&C2&CHAR(34)&""
Mi problema con el "''"@"''"
enfoque es que la segunda columna de mis datos fue un número que el "''"@"''"
enfoque no hizo nada con los números. A veces la segunda columna está en blanco, pero necesitaba asegurarme de que estaba representada en el archivo de texto final.
Otra forma si tiene acceso MS (tengo ver 2007) importe el archivo y luego expórtelo como un archivo de texto. Luego cambie el .txt a .csv. Tenga en cuenta que todos los campos numéricos no tendrán comillas dobles, así que si necesita comillas dobles también alrededor de los números, mientras que en Access cambie el campo de un campo numérico a un campo de texto.
La exportación de cadenas separadas por comas y entre comillas se puede hacer solo con Excel 2016 y el Bloc de notas, utilizando una copia de los datos, una fórmula, una exportación, un cambio de propiedades de archivo, un reemplazo en el Bloc de notas, guardando el archivo exportado y la limpieza. Cada uno es un paso simple. En detalle:
Copie las columnas que se exportarán a una nueva hoja intermedia para preservar el original y como copia de seguridad, y la nueva hoja se eliminará más tarde para dejar la hoja de cálculo como estaba.
Poner caracteres que no aparezcan, diga '#' o ';-)' en cada extremo de una cadena en la columna, diga A con la fórmula =concat("#",trim(A1),"#")
, colocando la fórmula en todas las filas de otra columna.
Copie la (s) nueva (s) columna (s) sobre A ..., utilizando el método '123' para no llevar la fórmula.
Exporte la hoja como un archivo CSV, para poner las comas entre los campos, incluidos los números.
Cambie las propiedades de file.csv para que pueda abrirse con el Bloc de notas.
Use el Bloc de notas para reemplazar los caracteres arbitrarios con '"'.
Si bien parece razonable usar "como el carácter arbitrario, debe colocarse en una celda diferente, digamos '$ A $ 50', y luego lo que aparece en la exportación es '" ""', aparentemente otro desencadenante inconveniente.
En el bloc de notas, el archivo debe guardarse, convirtiéndose en un archivo * .txt para ser importado y el intermedio * .csv eliminado.
Con la limpieza de la hoja de cálculo adicional, misión cumplida.
Quizás las herramientas de exportación de Access puedan algún día integrarse en Excel. Un enfoque más genérico entre los programas que usan cortar y pegar sería que las opciones de pegado incluyan una variedad de formas de interpretar la estructura de salida y proporcionar delimitadores.
La respuesta de Michael del 21 de agosto de 2014 es realmente útil. Sin embargo, tuve que realizar uno o dos pasos adicionales:
Esta es mi receta Odio tener que hacer esto, pero no tenía mejor manera. En mi caso, no obtengo citas de ningún campo. También necesitaba usar la codificación UTF-8 y; en lugar de pestañas, así que esto es lo que terminé haciendo.
NOTA: debido a la ilegibilidad de poner comillas dobles encerradas entre comillas simples, etc., he usado deliberadamente "formato de teclado" para indicar pulsaciones de teclas y caracteres literales y cadenas.
Me he encontrado con este problema muchas veces. Aquí está la solución más simple que se me ocurrió.
El acceso le permitirá especificar el delimitador de exportación como una coma y campos de texto calificados con comillas. En el asistente de exportación, puede especificar cualquier delimitador o carácter alrededor de las cadenas que desee.
Es posible que deba crear una consulta de Access para organizar los campos en un orden particular u ocultar el campo de identificación automática agregado por Access.
Además ... una vez exportado a un CSV, NO lo abra en Excel nuevamente. Si desea ver los resultados, ábralo en el bloc de notas. Excel tiende a meterse con los datos de un csv ... Creo que fueron campos rellenados con ceros a la izquierda si recuerdo correctamente.
Aquí se explica cómo usar la aplicación OpenOffice para tomar una hoja de cálculo de Excel y crear un archivo de texto (csv) con comillas alrededor de cada campo de texto.
Abra el archivo de Excel con OpenOffice, luego siga estos pasos:
Archivo> Guardar como
Proporcione un nuevo nombre para el archivo que está a punto de crear.
Para Tipo de archivo, elija "Probar CSV (.csv)"
active la casilla de verificación "Editar configuración de filtro"
clic en Guardar"
elija "Mantener formato actual"
El delimitador de campo debe ser una coma:
El delimitador de texto debe estar entre comillas: "
marque la casilla "Citar todas las celdas de texto"
haga clic en Aceptar"
¡Esto funcionó para mí!