コード インタープリターは、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 ファイルの読み書きには、 pandas
とopenpyxl
が一般的に使用されます。 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 )
PDF ファイルへのテキストの作成と書き込みは、 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' )
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 )
貢献は大歓迎です!お気軽にプルリクエストを送信してください。
私の仕事を評価していただけましたら、サポートをご検討ください: