【Python】PythonでのCSV操作
2024 年 8 月 30 日 金曜日 by yamamotorはじめに
自身の参画案件において、PythonでCSVを扱うことがかなり多いので、
操作方法の基礎をまとめて記載します。
内容
今回のフォルダ構成は以下の通りです。
Book1.csvの内容は以下の通りです。
フォルダ「csvファイルをまとめて処理」内
CSVの読み込み
まず、csvライブラリを用いずにCSVファイルを読み込むプログラムを記載します。
(さらに…)自身の参画案件において、PythonでCSVを扱うことがかなり多いので、
操作方法の基礎をまとめて記載します。
今回のフォルダ構成は以下の通りです。
Book1.csvの内容は以下の通りです。
フォルダ「csvファイルをまとめて処理」内
まず、csvライブラリを用いずにCSVファイルを読み込むプログラムを記載します。
(さらに…)※こちらの記事は活動記録になります。
弊社のスキルアップ活動の一環で、表題の活動を行いました。
最近フリーアドレスになったので、Teamsの社内のカメラで本社の映像から人を検出し、「リアルタイム空席状況」を表示してみたい。
表題にもある通り、人間を検知する仕組みはもう存在する。yoloというPythonライブラリを利用すると、どうやら簡単に動画内の人間を検知できるらしい。
(さらに…)弊社のスキルアップの活動として、
「OpenCVを用いて機械学習を行い、画像から猫を検出するシステムを自分たちで作る」
というDIY的な事を行ったので、実装方法や結果について共有します。
OpenCVとは、画像処理や画像解析が出来たり、機械学習ができる機能を詰め込んだライブラリです。
Pythonで使用されるのが一般的ですが、実はJavaやC等の言語でも使用することができるんです。
今回はOpenCVの中でも「カスケード分類器」と呼ばれる物体検出器に対して機械学習を行い、猫を検出します。
(さらに…)はじめに
OpenCVを駆使した動体検出は、現代のコンピュータビジョンアプリケーションにおいて欠かせない技術の一つです。この技術は、ビデオ監視、自動運転、セキュリティシステムなど多くの分野で応用でき、画像やビデオから動く対象を検出し、それに関する情報を抽出するために使用されます。
この記事では、動体検知システムの概要、実装内容について説明します。
システム概要
今回試作したシステムは、車内に子供の置き去りにしないように防止することを目的としています。
このシステムでは、以下の2つの動作を想定しています。しかし、完全再現は難しいため、実際には模擬的に実装していきます。
(さらに…)SQLiteそのままDBファイルをコピーして使えたりと、簡易なアプリの設定管理などに使えるので覚えたかった。
とりあえず以下のコードをコピペして修正したらOK
import sqlite3
# DB名(ファイル名)
dbname = "notify_smb_usage.sqlite3"
# コネクション
connection = sqlite3.connect(dbname, isolation_level='IMMEDIATE')
# カーソル
cursor = connection.cursor()
# SELECT文の結果を辞書型で取得
cursor.row_factory = sqlite3.Row
# SQL
query = """
SELECT
*
FROM
smb_usage
WHERE
user = :user
"""
cursor.execute(query,{
"user": "tomokiy"
})
# 実行結果
results = [{key: value for key, value in dict(result).items()} for result in cursor.fetchall()]
# コミット
connection.commit()
# DB切断
connection.close()
リストの中身が辞書型になっており、その辞書型の値の中で特定の値を持ったデータを検索する場合に高速に検索できる方法を紹介します。
今回は以下の3つの方法を比較します。
以下の方法では1000万個の辞書型要素を持ったリストのうち、500万個目の要素を検索しています。
(さらに…)言うまでもなく、コンストラクタの反対の役割を担うものです。
クラスインスタンスが破棄される際に必ず実行されます。 例外処理とは関係ないですが、try
~except
の例外処理のfinally
句と似ています。 なので、何があってもクラスの終了時に必ず実行してほしいものを記述します。
以下のようなプログラムを実行してみると分かりやすいです。
class Test1:
def __init__(self) -> None:
print("Test1のコンストラクタを実行しました。")
test2 = Test2()
def __del__(self) -> None:
print("Test1のデストラクタを実行しました。")
class Test2:
def __init__(self) -> None:
print("Test2のコンストラクタを実行しました。")
def __del__(self) -> None:
print("Test2のデストラクタを実行しました。")
test = Test1()
Pythonのブロックコメントをマークダウン記法で記述すると、VScodeのコードヒントを表示した時にいい感じに表示されます。
上記のように自作パッケージにカーソルを当てると、コメントが表示されます。
(さらに…)一番よく目にするデコレータはプロパティのゲッターになるものですかね。
@property
def name(self) -> str:
return self.__name
このメソッドの上に@property
のように記述しているものをデコレータと言います。
この投稿では、スクレイピングという技術について紹介していきます。
その1~その4でスクレイピングについての説明から実際にスクレイピングを行う方法までご紹介していきます。
スクレイピングとは?
スクレイピングとは取得したHTMLを抽出や加工することにより、Webサイト上からデータを取得することです。
近年は、データや情報の価値が高まるとともに、スクレイピングを利用し始める企業も増えているようです。
スクレイピングを行うことにより、大量のWebサイト上のデータを集める際に自動でデータを収集することで作業時間を大幅に削減することが可能です。