0 votos

Conversión masiva de números a CSV/Excel (Mira cómo lo hago)

Tenemos un departamento que ha estado utilizando una copia de un archivo de Apple Numbers para introducir los datos diarios y guardarlos diariamente. El archivo Numbers está diseñado con múltiples tablas, etc. - pero tienen el mismo diseño.

Llevan haciéndolo desde hace unos 2 años (10 expedientes al día), por lo que hay unos 7000+ expedientes numéricos.

Necesito extraer estos datos en una Hoja de Cálculo singular bajo columnas.

Mi idea es convertirlos en archivos CSV/XLS y luego obtener los datos de cada uno de estos archivos en un archivo singular usando algo como

='[file.xlsx]sheet'!$A$1

Sin embargo, he buscado en todas partes sobre la conversión por lotes de estos archivos en CSV.

He montado un flujo de trabajo de Automator muy rudimentario.

Paso 1 - Utiliza la función "Pedir elementos del buscador"

Paso 2 - Utiliza la opción "Abrir elementos del Finder"

Paso 3 - Utiliza el flujo de trabajo "Mírame hacer" - Haz clic en "Archivos" > CSV > Siguiente > Exportar

Esto funciona bien para un archivo. Pero necesito que vuelva al segundo archivo y repita el proceso. ¿Alguna idea de cómo puedo hacer esto para múltiples archivos?

Muchas gracias.

2voto

wch1zpink Puntos 11

Cree una carpeta en su escritorio y nómbrela "CSV_Documents". Esta será la ubicación en la que se guardarán todos los archivos .csv exportados.

Pegue lo siguiente AppleScript en un nuevo script Editor.app documento. La ejecución de este código exportará todos los documentos de Numbers.app actualmente abiertos a archivos .csv, y luego cerrará cada documento de Numbers (sin guardarlo) después de que se haya exportado. Si hay algún error al intentar exportar un documento abierto, este archivo no se exportará y permanecerá abierto en Numbers.app y continuará para procesar el siguiente archivo.

NOTA: Esta es una versión básica, pero cumple con su cometido.

set saveToFolder to (path to desktop as text) & "CSV_Documents:"

set theFiles to choose file with prompt "Select your numbers documents to open" of type ¬
    "numbers" with multiple selections allowed

tell application "Numbers"
    open theFiles
    set documentNames to name of documents

    repeat with thisDocument in documentNames
        try
            export document thisDocument ¬
                to file (saveToFolder & thisDocument & ".csv") as CSV
            close document thisDocument saving no
        end try
    end repeat

end tell

NOTA: Esta versión tiene más "Bells & Whistles".

property saveToFolder : (path to desktop as text) & "CSV_Documents:"

try
    alias saveToFolder
on error
    do shell script "mkdir ~/Desktop/CSV_Documents"
end try

activate
set theFiles to choose file with prompt ¬
    "Select \".numbers\" files to open" of type ¬
    "numbers" with multiple selections allowed

if (count of theFiles) > 50 then
    activate
    display alert "TOO MANY FILES" message ¬
        "To avoid timing out errors, select only up to 50 files." as critical ¬
        buttons {"OK"} default button 1
    return
end if

set documentNames to {}

repeat with i in theFiles
    tell application "System Events" to set {theFileName, nameExtension} to ¬
        {name, name extension} of i
    set end of documentNames to theFileName
end repeat

tell application "Numbers"
    with timeout of 500 seconds
        open theFiles
    end timeout

    repeat with i from 1 to count of documentNames
        set thisDocument to item i of documentNames
        try
            export document thisDocument to file ¬
                (saveToFolder & (my text 1 thru -8 of thisDocument) & "csv") as CSV
            close document thisDocument saving no
        end try
    end repeat

end tell

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X