En este artículo, aprenderemos cómo hacer la conversión de formato de archivo CSV a PDF. Esta simple tarea se puede hacer fácilmente usando dos pasos:
- En primer lugar, convertimos nuestro archivo CSV a HTML usando Pandas
- En el segundo paso, usamos PDFkit Python API para convertir nuestro archivo HTML al formato de archivo PDF.
Acercarse:
1. Conversión de archivos CSV a HTML usando Pandas Framework.
Pandas es una herramienta de manipulación y análisis de datos de código abierto rápida, potente, flexible y fácil de usar, construida sobre el lenguaje de programación Python.
Archivo CSV utilizado:
Para esta sección del tutorial usaremos:
- pandas.read_csv(): read_csv es una función importante de pandas para leer archivos CSV y realizar operaciones en él. La usaremos para leer nuestro archivo CSV de entrada.
- .to_html(): con la ayuda del método DataFrame.to_html(), podemos obtener el formato html de un marco de datos usando el método DataFrame.to_html(). Esta función toma un archivo CSV como entrada, lo convierte y lo guarda localmente en formato de archivo HTML.
Sintaxis para convertir CSV a HTML usando Pandas:
importar pandas como pd
CSV = pd.read_csv(“MiCSV.csv”)
CSV.to_html(“MiCSV.html”)
Archivo HTML utilizado: MyCSV
2. Convertir un archivo HTML a CSV usando PDFKit Python API
Hay muchos enfoques para generar PDF en python. pdfkit es uno de los mejores enfoques, ya que convierte HTML en PDF con varios formatos de imagen, formularios HTML y otros documentos imprimibles complejos.
Podemos crear un documento PDF con pdfkit de 3 maneras. Están :
- de URL
- desde un archivo HTML
- de la cuerda.
2.1. Generar PDF desde URL: el siguiente script nos proporciona el archivo pdf desde la URL de un sitio web.
import pdfkit pdfkit.from_url('https://www.geeksforgeeks.org', 'Output.pdf')
2.2. Generar PDF desde archivo: El siguiente script nos da el archivo pdf desde un archivo HTML.
import pdfkit pdfkit.from_file('LocalHTMLFile.html', 'Output.pdf')
2.3. Generar PDF a partir de la string: el siguiente script nos proporciona el archivo pdf a partir de una string.
import pdfkit pdfkit.from_string('Geeks For Geeks', 'Output.pdf')
Dado que ya hemos convertido nuestro archivo CSV a HTML, usaremos el primer método, es decir, generar PDF desde la URL, en el que podemos proporcionar la dirección de cualquier sitio web o cualquier archivo HTML local.
Si uno ya tiene wkhtmltopdf instalado en la máquina, podemos usar esta sintaxis directamente:
Sintaxis para convertir HTML a PDF usando PDFKit:
importar pdfkit
pdfkit.from_url(“MyCSV.html”, “FinalOutput.pdf”)
De lo contrario, también necesitamos instalar wkhtmltopdf para que la secuencia de comandos se ejecute en nuestra PC y establecer la ruta del archivo instalado wkhtmltopdf.exe a las Variables de entorno de nuestra PC y ahora podemos omitir la sección de configuración en la secuencia de comandos.
o
Alternativamente, podemos establecer la configuración como se muestra para el archivo wkhtmltopdf.exe instalado y pasar la variable de configuración a la función pdfkit.from_url:
Configuración de ruta
ruta_wkhtmltopdf = r’D:\Software\wkhtmltopdf\bin\wkhtmltopdf.exe’
config = pdfkit.configuration(wkhtmltopdf=ruta_wkhtmltopdf)
Convertir archivo HTML a PDF con pdfkit
pdfkit.from_url(“MyCSV.html”, “FinalOutput.pdf”, configuración=config)
Implementación:
Archivos iniciales en la carpeta
Python
import pandas as pd import pdfkit # SAVE CSV TO HTML USING PANDAS csv = 'MyCSV.csv' html_file = csv_file[:-3]+'html' df = pd.read_csv(csv_file, sep=',') df.to_html(html_file) # INSTALL wkhtmltopdf AND SET PATH IN CONFIGURATION # These two Steps could be eliminated By Installing wkhtmltopdf - # - and setting it's path to Environment Variables path_wkhtmltopdf = r'D:\Softwares\wkhtmltopdf\bin\wkhtmltopdf.exe' config = pdfkit.configuration(wkhtmltopdf=path_wkhtmltopdf) # CONVERT HTML FILE TO PDF WITH PDFKIT pdfkit.from_url("MyCSV.html", "FinalOutput.pdf", configuration=config)
Después de ejecutar sobre Python Script:
Salida final:
Publicación traducida automáticamente
Artículo escrito por devashish_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA