Tengo un archivo de Excel, que se muestra en la imagen a continuación, y está disponible para descargar.aquí. Lo que necesito es extraer las variables del Elemento (Columna B) y los valores de la columna G. Para empezar, intenté guardar el archivo de Excel como un archivo .csv delimitado por comas, pero cuando verifico el número de filas en el Terminal Mac OS X, me dice que el archivo CSV es solo una fila:
$ wc -l Layout.csv
0 Layout.csv
¿Alguna idea de por qué este podría ser el caso?
Aquí está el archivo CSV abierto en un editor de texto, que muestra que tiene varias líneas:
Puedes descargar ese archivo.aquí.
Respuesta1
Después de ver su salida CSV, el problema es claro: le dijo a Excel que usara finales de línea CR, probablemente porque le informó que son de estilo "Macintosh". Se trata de información muy desactualizada, que ya no es cierta desde hace más de una década.
Haytres estilos de final de línea principal:
LF: El estilo utilizado por Unix y todos sus derivados primarios.incluidoMac OS X.
CR: El estilo elegido por el Mac OS "clásico", abandonado por Apple en 2001 con el paso a Mac OS X. Dado que el Mac OS clásico es el único sistema operativo popular que alguna vez utiliza este estilo, casi nunca se ve más en la práctica. El archivo CSV al que ha vinculado es uno de estos raros ejemplos.
CR+LF: El estilo de final de línea de DOS/Windows. Técnicamente, este estilo es más fiel a la historia de ASCII y, por lo tanto, "más correcto", pero es poco común verlo fuera del mundo de Microsoft.
La mejor manera de solucionar este problema es hacer que Excel use finales de línea LF, que es la forma nativa para OS X, lo que hará wc
felices a otras herramientas de línea de comandos de Unix. Pero eso está fuera del alcance de este foro. (IntentarSuperusuariosi realmente no puedes resolverlo por tu cuenta).
Una forma de solucionarlo mediante la línea de comandos de Unix sobre el tema es:
$ tr '\r' '\n' < Layout.csv > Layout-LF.csv
(Este es uno de esos tipos de problemas que tienen tantas soluciones diferentes como personas que las ofrecen).