es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede recuperar el dataframe en formato CSV usando python.

Quiero convertir un archivo PDF a CSV. Para esto estoy usando Tabula-py. Sin embargo, el CSV de salida contiene los nombres de las columnas en lugar de su contenido. Por favor, guíame y dime qué me falta y cómo puedo guardar el marco de datos en un archivo CSV para que se pueda recuperar toda la información en el archivo CSV.

#!/usr/bin/env python3

import tabula
import pandas as pd
import csv

archivo_pdf = 'documento-pagina1.pdf'
nombres_columnas = ['Producto', 'No. de Lote', 'No. de Máquina', 'Hora', 'Fecha', 'No. de Tambor/Bolsa', 'Peso Tara (kg)', 'Peso Bruto (kg)',
                    'Peso Neto (kg)', 'Mezcladora', 'Observaciones', 'Operador']

# Procesamiento de la página 1
df1 = tabula.read_pdf(archivo_pdf, pages=1, area=(95, 20, 800, 840), columns=[93, 180, 220, 252, 310, 315, 333, 367, 410, 450, 480, 520],
                      pandas_options={'header': None})  #(arriba, izquierda, abajo, derecha)

df1.iloc[0] = df1.iloc[0].drop(columns=5)
df1.iloc[0].columns = nombres_columnas

df1.iloc[0].head(2)

df1.iloc[0].to_csv('resultado.csv')
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para guardar el contenido del dataframe en un archivo CSV, puedes usar el siguiente código:

    df1[0].to_csv('resultado.csv', index=False)
    

    La función to_csv() toma el nombre del archivo y el parámetro index establecido en False no incluirá el índice del dataframe en el archivo de salida. Esto guardará todos los datos en un archivo CSV sin ningún nombre de columna.

    Si quieres mantener los nombres de las columnas en el archivo CSV, puedes usar el siguiente código:

    df1[0].to_csv('resultado.csv', index=False, header=True)
    

    Establecer header en True incluirá los nombres de las columnas en el archivo de salida. Esto debería resolver el problema de que el archivo CSV de salida contenga solo los nombres de las columnas.

Comments are closed.