El intérprete de código es una característica avanzada de GPTs.x y ChatGPT de OpenAI que aporta un nuevo nivel de interactividad al modelo de IA. Está diseñado para ejecutar código Python en un entorno aislado y proporcionar resultados en tiempo real, lo que lo convierte en una herramienta poderosa para una amplia gama de tareas, desde cálculos matemáticos hasta análisis de datos, desde creación de prototipos de código hasta enseñanza y aprendizaje de programación Python de forma interactiva. Si bien existen ciertas limitaciones en su funcionalidad debido a razones de seguridad, abre un conjunto completamente nuevo de posibilidades sobre cómo los usuarios pueden interactuar con ChatGPT.
El intérprete de código es una herramienta desarrollada por OpenAI para ejecutar código de programación en un entorno interactivo. Es capaz de ejecutar código Python y mostrar los resultados en tiempo real.
El intérprete de código se puede utilizar para una variedad de tareas, que incluyen:
ChatGPT puede generar, revisar y depurar código según los requisitos proporcionados. También puede ayudar a estructurar el código y proporcionar sugerencias de mejora. Además, puede explicar conceptos de programación complejos y ayudar a resolver problemas de codificación.
Si bien el intérprete de código es una herramienta poderosa, tiene ciertas limitaciones:
A pesar de estas limitaciones, el intérprete de código es una herramienta versátil que puede ayudar enormemente a programadores de todos los niveles.
El intérprete de código ofrece varios beneficios:
Para ejecutar los ejemplos mencionados en este README, necesita instalar algunas bibliotecas de Python. Puedes instalarlos usando pip:
pip install pandas openpyxl python-docx PyPDF2 fpdf2 matplotlib pillow
El intérprete de código tiene acceso a un directorio especial, '/mnt/data', donde puede leer y escribir archivos. Esto se puede utilizar para operaciones que necesitan guardar o cargar datos, como escribir registros, guardar gráficos o cargar datos para análisis. Sin embargo, no se puede acceder a otras ubicaciones del sistema de archivos.
El directorio '/mnt/data' es una ubicación de almacenamiento especial a la que el intérprete de código puede acceder para leer y escribir archivos. Esto es especialmente útil para operaciones que requieren almacenamiento persistente o el intercambio de datos entre diferentes ejecuciones de código.
A continuación se muestran algunas formas en las que puede utilizar el directorio '/mnt/data':
with open ( '/mnt/data/numbers.txt' , 'w' ) as file :
for num in range ( 10 ):
file . write ( str ( num ) + ' n ' )
Para leer el archivo, harías:
with open ( '/mnt/data/numbers.txt' , 'r' ) as file :
numbers = file . readlines ()
with open ( '/mnt/data/log.txt' , 'w' ) as file :
file . write ( 'This is a log message.' )
import matplotlib . pyplot as plt
plt . plot ([ 0 , 1 , 2 , 3 , 4 ], [ 0 , 1 , 4 , 9 , 16 ])
plt . savefig ( '/mnt/data/plot.png' )
Luego puede descargar el archivo de imagen directamente desde el enlace de la zona de pruebas generado.
Recuerde, cualquier operación con archivos debe realizarse utilizando la ruta '/mnt/data'. El intérprete de código no tiene acceso a ninguna otra ubicación del sistema de archivos.
Con la ayuda de varias bibliotecas de Python, como PIL (Python Imaging Library), OpenCV y matplotlib, se pueden realizar una variedad de operaciones en imágenes. A continuación se muestran algunos ejemplos:
from PIL import Image
import matplotlib . pyplot as plt
# Open the image file
img = Image . open ( '/mnt/data/your_image.jpg' )
# Display the image
plt . imshow ( img )
plt . axis ( 'off' ) # Turn off the axis
plt . show ()
# Resize the image
img_resized = img . resize (( new_width , new_height ))
# Rotate the image
img_rotated = img . rotate ( angle )
# Flip the image
img_flipped = img . transpose ( Image . FLIP_LEFT_RIGHT )
# Convert the image to grayscale
img_gray = img . convert ( 'L' )
from PIL import ImageEnhance
# Increase the brightness
enhancer = ImageEnhance . Brightness ( img )
img_brighter = enhancer . enhance ( 1.5 )
from PIL import ImageFilter
# Apply a filter
img_blurred = img . filter ( ImageFilter . GaussianBlur ( radius = 5 ))
# Get the histogram
hist = img . histogram ()
# Merge images
img_merged = Image . merge ( 'RGB' , [ img1 , img2 , img3 ])
El manejo de archivos Excel es una tarea común que puede abarcar desde el análisis de datos hasta la generación de informes. Aquí hay una guía sobre operaciones básicas y avanzadas con archivos de Excel usando Python:
Para leer y escribir archivos de Excel, se usa comúnmente pandas
junto con openpyxl
. A continuación se explica cómo leer y escribir en un archivo de Excel:
import pandas as pd
# Load an Excel file
df = pd . read_excel ( '/mnt/data/example.xlsx' )
# Display data
print ( df . head ())
###Para escribir datos en un archivo de Excel:
# Create a DataFrame
data = { 'Name' : [ 'Alice' , 'Bob' , 'Charlie' ], 'Age' : [ 25 , 30 , 35 ]}
df = pd . DataFrame ( data )
# Write DataFrame to an Excel file
df . to_excel ( '/mnt/data/saved_data.xlsx' , index = False )
Puede filtrar datos según condiciones, agregar nuevas columnas o transformar datos existentes:
# Filter rows where age is greater than 28
filtered_df = df [ df [ 'Age' ] > 28 ]
# Add a new column
df [ 'Age Next Year' ] = df [ 'Age' ] + 1
# Sort data
sorted_df = df . sort_values ( by = 'Age' , ascending = False )
Además de leer y escribir archivos de Excel, también puede realizar tareas avanzadas de procesamiento de datos, como crear tablas dinámicas o fusionar varios archivos de Excel.
import pandas as pd
# Load example data
df = pd . read_excel ( '/mnt/data/example.xlsx' )
# Create a pivot table
pivot_table = df . pivot_table ( index = 'Category' , values = 'Sales' , aggfunc = 'sum' )
# Display the pivot table
print ( pivot_table )
import pandas as pd
import glob
# Read all Excel files in the directory
files = glob . glob ( '/mnt/data/*.xlsx' )
# Merge data from all files
df_list = [ pd . read_excel ( file ) for file in files ]
merged_df = pd . concat ( df_list , ignore_index = True )
# Display the merged data
print ( merged_df . head ())
A continuación se muestran algunos problemas comunes y sus soluciones:
Si encuentra más problemas, abra un problema en GitHub o comuníquese con el responsable del proyecto.
El manejo de archivos de Microsoft Word implica leer, escribir y modificar documentos. Así es como puedes administrar archivos de Word usando Python:
Para leer texto de documentos de Word, se utiliza la biblioteca python-docx
:
from docx import Document
# Load a Word document
doc = Document ( '/mnt/data/example.docx' )
# Read each paragraph
for para in doc . paragraphs :
print ( para . text )
Para crear y escribir en documentos de Word:
from docx import Document
# Create a new Word document
doc = Document ()
doc . add_paragraph ( 'Hello, this is a test document.' )
# Save the document
doc . save ( '/mnt/data/new_example.docx' )
from docx import Document
# Create a new Word document
doc = Document ()
# Add a table with specified number of rows and columns
table = doc . add_table ( rows = 3 , cols = 3 )
# Add data to the table
data = [
[ "Header 1" , "Header 2" , "Header 3" ],
[ "Row 1, Col 1" , "Row 1, Col 2" , "Row 1, Col 3" ],
[ "Row 2, Col 1" , "Row 2, Col 2" , "Row 2, Col 3" ]
]
for row_index , row_data in enumerate ( data ):
row = table . rows [ row_index ]
for col_index , cell_data in enumerate ( row_data ):
row . cells [ col_index ]. text = cell_data
# Save the document
doc . save ( '/mnt/data/table_example.docx' )
from docx import Document
from docx . shared import Pt , RGBColor
# Load a Word document
doc = Document ( '/mnt/data/example.docx' )
# Add a paragraph with specific formatting
paragraph = doc . add_paragraph ()
run = paragraph . add_run ( 'This is a formatted text.' )
run . font . size = Pt ( 14 ) # Font size
run . font . bold = True # Bold text
run . font . color . rgb = RGBColor ( 255 , 0 , 0 ) # Red color text
# Save the document
doc . save ( '/mnt/data/formatted_text.docx' )
from docx import Document
from docx . shared import Inches
# Create a new Word document
doc = Document ()
# Add a paragraph
doc . add_paragraph ( 'Below is an image:' )
# Add an image to the document
doc . add_picture ( '/mnt/data/your_image.jpg' , width = Inches ( 4 ), height = Inches ( 3 ))
# Save the document
doc . save ( '/mnt/data/image_example.docx' )
from docx import Document
# Create a new Word document
doc = Document ()
# Add a header
header = doc . sections [ 0 ]. header
header_paragraph = header . paragraphs [ 0 ]
header_paragraph . text = "This is the header"
# Add a footer
footer = doc . sections [ 0 ]. footer
footer_paragraph = footer . paragraphs [ 0 ]
footer_paragraph . text = "This is the footer"
# Add some body text
doc . add_paragraph ( "This is the body text of the document." )
# Save the document
doc . save ( '/mnt/data/header_footer_example.docx' )
La gestión de archivos PDF a menudo implica leer, extraer texto y, a veces, convertirlos a otros formatos. Aquí se explica cómo manejar archivos PDF usando Python:
Para leer y extraer texto de archivos PDF, se utiliza comúnmente la biblioteca PyPDF2
:
import PyPDF2
# Open a PDF file
with open ( '/mnt/data/example.pdf' , 'rb' ) as file :
pdf_reader = PyPDF2 . PdfReader ( file )
# Extract text from the first page
page = pdf_reader . pages [ 0 ]
text = page . extract_text ()
print ( text )
Se puede crear y escribir texto en archivos PDF utilizando la biblioteca fpdf2
:
from fpdf import FPDF
# Create instance of FPDF class
pdf = FPDF ()
# Add a page
pdf . add_page ()
# Set font
pdf . set_font ( "Arial" , size = 12 )
# Add a cell
pdf . cell ( 200 , 10 , txt = "Welcome to PDF handling with Python!" , ln = True , align = 'C' )
# Save the PDF to a file
pdf . output ( '/mnt/data/new_example.pdf' )
El manejo de archivos PDF a menudo implica leer, extraer texto, fusionar, dividir y modificar documentos. Aquí hay algunas operaciones avanzadas usando Python:
import PyPDF2
# List of PDF files to be merged
pdf_files = [ '/mnt/data/file1.pdf' , '/mnt/data/file2.pdf' , '/mnt/data/file3.pdf' ]
# Create a PDF merger object
pdf_merger = PyPDF2 . PdfMerger ()
# Append each PDF file
for pdf in pdf_files :
pdf_merger . append ( pdf )
# Write out the merged PDF
with open ( '/mnt/data/merged.pdf' , 'wb' ) as merged_pdf :
pdf_merger . write ( merged_pdf )
import PyPDF2
# Path to the PDF file
pdf_path = '/mnt/data/example.pdf'
# Create a PDF reader object
pdf_reader = PyPDF2 . PdfReader ( pdf_path )
# Split the PDF into separate pages
for page_num in range ( len ( pdf_reader . pages )):
pdf_writer = PyPDF2 . PdfWriter ()
pdf_writer . add_page ( pdf_reader . pages [ page_num ])
# Save each page as a separate PDF
output_path = f'/mnt/data/split_page_ { page_num + 1 } .pdf'
with open ( output_path , 'wb' ) as output_pdf :
pdf_writer . write ( output_pdf )
import PyPDF2
# Paths to the original PDF and the watermark PDF
original_pdf_path = '/mnt/data/original.pdf'
watermark_pdf_path = '/mnt/data/watermark.pdf'
# Create PDF reader objects
original_pdf = PyPDF2 . PdfReader ( original_pdf_path )
watermark_pdf = PyPDF2 . PdfReader ( watermark_pdf_path )
# Create a PDF writer object
pdf_writer = PyPDF2 . PdfWriter ()
# Apply the watermark to each page
for page_num in range ( len ( original_pdf . pages )):
original_page = original_pdf . pages [ page_num ]
watermark_page = watermark_pdf . pages [ 0 ]
original_page . merge_page ( watermark_page )
pdf_writer . add_page ( original_page )
# Save the watermarked PDF
with open ( '/mnt/data/watermarked.pdf' , 'wb' ) as watermarked_pdf :
pdf_writer . write ( watermarked_pdf )
import PyPDF2
# Path to the PDF file
pdf_path = '/mnt/data/example.pdf'
# Create a PDF reader object
pdf_reader = PyPDF2 . PdfReader ( pdf_path )
# Specify the range of pages to extract text from
start_page = 1
end_page = 3
# Extract text from the specified page range
extracted_text = ''
for page_num in range ( start_page - 1 , end_page ):
page = pdf_reader . pages [ page_num ]
extracted_text += page . extract_text ()
print ( extracted_text )
import PyPDF2
# Path to the PDF file
pdf_path = '/mnt/data/example.pdf'
# Create a PDF reader object
pdf_reader = PyPDF2 . PdfReader ( pdf_path )
pdf_writer = PyPDF2 . PdfWriter ()
# Copy all pages to the writer object
for page_num in range ( len ( pdf_reader . pages )):
pdf_writer . add_page ( pdf_reader . pages [ page_num ])
# Add metadata
metadata = {
'/Title' : 'Example PDF' ,
'/Author' : 'Your Name' ,
'/Subject' : 'Example Subject' ,
'/Keywords' : 'PDF, example, metadata'
}
pdf_writer . add_metadata ( metadata )
# Save the PDF with metadata
with open ( '/mnt/data/metadata_example.pdf' , 'wb' ) as metadata_pdf :
pdf_writer . write ( metadata_pdf )
¡Las contribuciones son bienvenidas! No dude en enviar una solicitud de extracción.
Si aprecias mi trabajo, por favor considera apoyarme: