Google Colabのスニペット集
このページは、Google Colabのスニペットなどをまとめる予定のページです。
目次
注意
- このページを作ったひとが備忘のためにまとめているため網羅性はありません。
一覧
!nvidia-smi
日時
!rm /etc/localtime
!ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
!date
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)
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())