코드 해석기는 AI 모델에 새로운 수준의 상호작용성을 제공하는 OpenAI GPTs.x 및 ChatGPT의 고급 기능입니다. 샌드박스 환경에서 Python 코드를 실행하고 실시간 결과를 제공하도록 설계되어 수학적 계산부터 데이터 분석, 코드 프로토타이핑부터 대화형 Python 프로그래밍 교육 및 학습에 이르기까지 광범위한 작업을 위한 강력한 도구입니다. 보안상의 이유로 기능에 특정 제한이 있지만 사용자가 ChatGPT와 상호 작용할 수 있는 방법에 대한 완전히 새로운 가능성을 열어줍니다.
코드 인터프리터는 대화형 환경에서 프로그래밍 코드를 실행하기 위해 OpenAI가 개발한 도구입니다. Python 코드를 실행하고 결과를 실시간으로 표시할 수 있습니다.
코드 해석기는 다음을 포함한 다양한 작업에 사용될 수 있습니다.
ChatGPT는 제공된 요구 사항을 기반으로 코드를 생성, 검토 및 디버그할 수 있습니다. 또한 코드 구조화를 지원하고 개선을 위한 제안을 제공할 수도 있습니다. 또한 복잡한 프로그래밍 개념을 설명하고 코딩 문제 해결에 도움을 줄 수 있습니다.
코드 인터프리터는 강력한 도구이지만 다음과 같은 몇 가지 제한 사항이 있습니다.
이러한 제한에도 불구하고 코드 해석기는 모든 기술 수준의 프로그래머에게 큰 도움을 줄 수 있는 다용도 도구입니다.
코드 해석기는 다음과 같은 여러 가지 이점을 제공합니다.
이 README에 언급된 예제를 실행하려면 일부 Python 라이브러리를 설치해야 합니다. pip를 사용하여 설치할 수 있습니다.
pip install pandas openpyxl python-docx PyPDF2 fpdf2 matplotlib pillow
코드 해석기는 파일을 읽고 쓸 수 있는 특수 디렉터리 '/mnt/data'에 액세스할 수 있습니다. 로그 작성, 플롯 저장, 분석을 위한 데이터 로드 등 데이터를 저장하거나 로드해야 하는 작업에 사용할 수 있습니다. 그러나 파일 시스템의 다른 위치에는 액세스할 수 없습니다.
'/mnt/data' 디렉토리는 코드 해석기가 파일을 읽고 쓰기 위해 액세스할 수 있는 특수 저장 위치입니다. 이는 영구 저장이 필요한 작업이나 서로 다른 코드 실행 간의 데이터 교환에 특히 유용합니다.
다음은 '/mnt/data' 디렉토리를 사용할 수 있는 몇 가지 방법입니다:
with open ( '/mnt/data/numbers.txt' , 'w' ) as file :
for num in range ( 10 ):
file . write ( str ( num ) + ' n ' )
파일을 읽으려면 다음을 수행합니다.
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' )
그런 다음 생성된 샌드박스 링크에서 직접 이미지 파일을 다운로드할 수 있습니다.
모든 파일 작업은 '/mnt/data' 경로를 사용하여 수행되어야 한다는 점을 기억하세요. 코드 해석기는 파일 시스템의 다른 위치에 액세스할 수 없습니다.
PIL(Python Imaging Library), OpenCV, matplotlib 등 다양한 Python 라이브러리를 사용하여 이미지에 대해 다양한 작업을 수행할 수 있습니다. 다음은 몇 가지 예입니다.
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 ])
Excel 파일 처리는 데이터 분석부터 보고서 생성까지 일반적인 작업입니다. 다음은 Python을 사용한 Excel 파일의 기본 및 고급 작업에 대한 가이드입니다.
Excel 파일을 읽고 쓰려면 openpyxl
과 함께 pandas
일반적으로 사용됩니다. Excel 파일을 읽고 쓰는 방법은 다음과 같습니다.
import pandas as pd
# Load an Excel file
df = pd . read_excel ( '/mnt/data/example.xlsx' )
# Display data
print ( df . head ())
###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 )
조건에 따라 데이터를 필터링하거나, 새 열을 추가하거나, 기존 데이터를 변환할 수 있습니다.
# 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 )
Excel 파일을 읽고 쓰는 것 외에도 피벗 테이블 생성, 여러 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 ())
다음은 몇 가지 일반적인 문제와 해결 방법입니다.
추가 문제가 발생하면 GitHub에서 문제를 열거나 프로젝트 관리자에게 문의하세요.
Microsoft Word 파일 처리에는 문서 읽기, 쓰기 및 수정이 포함됩니다. Python을 사용하여 Word 파일을 관리하는 방법은 다음과 같습니다.
Word 문서에서 텍스트를 읽으려면 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 )
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' )
PDF 파일 관리에는 텍스트 읽기, 추출, 때로는 다른 형식으로 변환이 포함되는 경우가 많습니다. Python을 사용하여 PDF 파일을 처리하는 방법은 다음과 같습니다.
PDF 파일에서 텍스트를 읽고 추출하려면 일반적으로 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 )
fpdf2
라이브러리를 사용하여 PDF 파일에 텍스트를 작성하고 작성할 수 있습니다.
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' )
PDF 파일 처리에는 문서 읽기, 텍스트 추출, 병합, 분할 및 수정이 포함되는 경우가 많습니다. 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 )
기여를 환영합니다! 풀 요청(Pull Request)을 제출해 주시기 바랍니다.
제 작업에 감사하신다면 저를 지원해 주세요.