Python スニペット 作成日: 2022/09/17 Google Colabのスニペット集 目次 注意 一覧 日時 ファイル Googleドライブ Google スプレッドシート Playwright このページは、Google Colabのスニペットなどをまとめる予定のページです。 目次 注意 このページを作ったひとが備忘のためにまとめているため網羅性はありません。 一覧 GPUの確認 !nvidia-smi 日時 タイムゾーンの変更 (コマンド) !rm /etc/localtime !ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime !date タイムゾーンの変更 (Python 3.7) import datetime from dateutil.tz import gettz d = datetime.datetime.now(gettz('Asia/Tokyo')) print(d.strftime('%Y-%m-%d %H:%M:%S')) ファイル ファイルのアップロード import os from google.colab import files import shutil upload_folder = 'upload' # アップロードするフォルダ if os.path.isdir(upload_folder): shutil.rmtree(upload_folder) os.mkdir(upload_folder) uploaded = files.upload() for filename in uploaded.keys(): dst_path = os.path.join(upload_folder, filename) print(f'move {filename} to {dst_path}') shutil.move(filename, dst_path) フォルダをZIP圧縮してダウンロード import os from google.colab import files target_dir = "results" # 圧縮するフォルダ zip_filename = 'result.zip' # ZIPファイル名 if os.path.exists(zip_filename): os.remove(zip_filename) os.system(f"zip -r -j {zip_filename} {target_dir}/*") files.download(zip_filename) 画像の表示 from PIL import Image img_path = 'example.jpg' img = Image.open(img_path) img 画像のグリッド表示 from PIL import Image import matplotlib.pyplot as plt import glob import math result_folder = 'results' # 画像フォルダ image_paths = sorted(glob.glob(result_folder + '/*.jpg')) count = len(image_paths) fig = plt.figure(figsize=(20,20)) row = math.ceil(math.sqrt(count)) # 行数。画像数が50の場合8 col = math.ceil(count / row) # 列数。画像数が50の場合7 for i, img_path in enumerate(image_paths): ax = fig.add_subplot(row, col, i + 1) ax.axis('off') ax.imshow(Image.open(img_path)) fig.tight_layout() plt.show() Googleドライブ ドライブのマウント from google.colab import drive drive.mount('/content/drive') Google スプレッドシート シートの値の読み込み from google.colab import auth auth.authenticate_user() import gspread from google.auth import default creds, _ = default() gc = gspread.authorize(creds) workbook_key = '...' # ファイルのキー (URLにあるID。https://docs.google.com/spreadsheets/d/ の後ろ) workbook = gc.open_by_key(workbook_key) worksheet = workbook.get_worksheet(0) rows = worksheet.get_all_values() print(rows) # DataFrame 出力 import pandas as pd pd.DataFrame.from_records(rows) シートの値の書き込み from google.colab import auth auth.authenticate_user() import gspread from google.auth import default creds, _ = default() gc = gspread.authorize(creds) workbook_title = 'テストシート' # ファイルのタイトル workbook = gc.create(workbook_title) worksheet = workbook.get_worksheet(0) cell_list = worksheet.range('A1:C2') # 書き込む範囲 for cell in cell_list: cell.value = 1 # 書き込み worksheet.update_cells(cell_list) # 更新 Playwright モジュールのインストール !pip install playwright !playwright install-deps !playwright install webkit !pip install nest-asyncio 実行 import nest_asyncio nest_asyncio.apply() # Example: https://github.com/microsoft/playwright-python import asyncio from playwright.async_api import async_playwright async def main(): async with async_playwright() as p: browser = await p.webkit.launch() page = await browser.new_page() await page.goto('http://whatsmyuseragent.org/') await page.screenshot(path=f'example.png') await browser.close() asyncio.run(main())