これらは、もちろんVBAで出来ます。
VBAでのCSVの扱い方まとめマクロVBAでCSVの読み書きする方法はいくつもあり、当サイトでも複数のページでそれぞれVBAコードを掲載しています。順次記事を掲載しているので、それぞれどのような特徴があるかが良く分からなくなってしまっているようです。そこで、CSVに関するページをまとめておきました。
VBAのスクレイピングを簡単楽にしてくれるSeleniumVBAでWebスクレイピングする方法としてIE自動操作がありますが、VBA記述が結構面倒になります、もっと簡単にスマートにVBAを書きたいと思ったら…SeleniumBasicを使ってみましょう。SeleniumBasicは、エクセルVBAでのWeb閲覧を自動化することを強力かつ簡単に実現してくれます。
Pythonは人気のプログラミング言語ですし、ここを訪れている人に今更説明する必要があるとは思えませんが、、、
2020年春期から基本情報技術者試験の午後の選択できるプログラミング言語にPythonが新たに採用されています。
Pythonは
インタープリタ型の汎用プログラミング言語です。
・WEBサービス、WEBアプリケーション
・WEBスクレイピング
・スマホアプリ
・デスクトップアプリ
・機械学習、ディープラーニング
・組み込みアプリケーション
とても汎用的な言語で、非常に沢山の用途として使われているプログラミング言語です。
インタプリタとスクリプト言語
インタプリタは、1命令ずつ解釈して実行するプログラムを指します。
スクリプトは、比較的簡易な言語で書かれたプログラムを指します。
両者は全く別の概念です。
厳格な定義もなく、あくまで概念の話です。
ほぼ同様に使われることが多くあります。
スクリプト言語がインタプリタで実行されることが多いからだと思われます。
Pythonのコードはスクリプトと呼ばれます。
Pythonのコードを書いたファイルの拡張子は「.py」です。
この拡張子「.py」のファイルをスクリプトファイルと呼びます。
本シリーズでは、Pythonのコード自体をスクリプトと呼んだり、特に区別せずに使用します。
Pythonの特徴の説明として、
・文法がシンプルで書きやすく読みやすい
・少ないコード量で簡単にプログラムが作成できる
・実用的なライブラリが豊富
このような説明が良くされています。
また、言語的特徴として、
・動的型付き
・インデントによるブロック
・オブジェクト指向
このような事も書かれたりしています。
いずれも正しいのでしょうが、そもそも特徴というのは、あくまで他と比べた時はという事です。
ここを誤解しない方が良いでしょう。
例えば、
英語は日本語よりシンプルだと言われても、だから何?
動的型付きの反対は静的型付きですが、どっちが良いの?
Pythonは初心者が始めやすいという特徴はあると思います。
ですが、どのような言語であっても習得するには、
制御文、関数、データ構造、これらを一つずつ学んでいくしかありません。
正式な言語仕様については以下を参照してください。
Pythonには拡張提案の仕組みがあり、その際に議論した結果がまとめられた資料があります。
PEP一覧: PEP 0 -- Index of Python Enhancement Proposals (PEPs)
全てを読むのは困難ですし、専門家ではない限り必要もないでしょう。
この中で是非目を通しておいていただきたいものとして、以下2つリンクしておきます。
Python設計の指針となる原則が簡潔にまとめられた20の格言です。
PEP 20 -- The Zen of Python
しかし、ここには19の格言しか書かれていません、、、
Pythonコードのスタイルガイドです。
PEP 8 -- Style Guide for Python Code
はじめに - pep8-ja 1.0 ドキュメント
基本的にはこれに準拠するようにするべきでしょう。
ただし、なかなか全てこの通りには書けないものですし、そこまでこだわる必要性もありません。
この中にも書かれている通り、
「一貫性にこだわりすぎるのは、狭い心の現れである」
第1回.Pythonの統合開発環境をインストールPythonはプログラミング言語です。プログラミングする上で、その開発環境の作成は避けて通れません。PythonにはどのようなIDE(統合開発環境)があるか簡単に紹介した後、本シリーズ使用する、VisualStudioCommunityのインストールの説明をします。
第2回.対話モードの使い方とヘルプPythonには対話モード(インタラクティブシェル)でスクリプトを実行する方法があります。前回のインストール編では、Pythonのスクリプトファイル(拡張子.py)を実行しました。対話モードでは、1行入力するごとに実行されていきます。
第3回.変数とデータ型プログラミングにおいて、変数はとても重要であり、かつ理解が難しいものです。プログラミングを始めて、最初の関門が変数といっても良いかもしれません。変数が使えなければプログラムは書けません、Pythonの変数がどうなっているか、ここでは簡単にさわりだけ説明します。
第4回.数値計算(四則演算)Pythonは科学技術計算にも使われるプログラミング言語です。科学技術計算向けの豊富なライブラリがあったりする訳ですが、ここでは基本の数値計算について説明します。int型(整数)とfloat型(実数)における四則演算の演算子を中心に説明します。
第5回.if文とインデントによるブロックプログラムとは処理手順であり、突き詰めれば条件分岐しながら繰り返し処理を行うものです。条件分岐はプログラミング言語に無くてはならない命令になります。Pythonにおける条件分岐はif文になります。他の言語では分岐命令として複数用意されている場合もありますが、Pythonではif文だけになります。
第6回.for文とイテラブルオブジェクトプログラムとは処理手順であり、突き詰めれば条件分岐しながら繰り返し処理を行うものです。繰り返し処理はプログラミング言語に無くてはならない処理になります。Pythonでの繰り返し処理のうち、今回はfor文の説明になります。
第7回.while文とデバッグ(ステップイン)プログラムとは処理手順であり、突き詰めれば条件分岐しながら繰り返し処理を行うものです。Pythonでの繰り返し処理のうち、今回はwhile文の説明になります。for文に比べると使用頻度は落ちると思いますが、基本として身に付けておくべきものです。
第8回.文字列操作(str型)プログラミングでは文字列(テキスト)を扱う事は非常に多く最も基本的な処理と言えます。Pythonでは文字列はstr型になります。このstr型に対する操作として非常に多くの機能がPythonには用意されています。
第9回.リスト(list型、配列)プログラミングにおいて覚えなければならないものとして配列があります。Pythonの組み込み型に、リスト(list型)とタプル(tuple型)があります。今回はリスト(list型)について解説します。目次 リスト(list型)とは リスト演算子 リストのインデックスとスライス スライスでリストの値を変更 スライスでリストの要素を追加 del文リストの要素を…
第10回.タプル(tuple型、イミュータブル)プログラミングにおいて覚えなければならないものとして配列があります。Pythonの組み込み型に、リスト(list型)とタプル(tuple型)があります。今回はタプル(tuple型)について解説します。
第11回.辞書(dict型)「辞書」は、キーと値をセットで登録できるデータ型です。「連想配列、ハッシュ、マップ」このような呼び方をされるものです。多くのプログラミング言語においてデータを高速に取り出す手段として辞書がサポートされています。
第12回.組み込み関数一覧Pythonには数多くの関数と型が組み込まれており、様々な処理を行うことができます。組み込み関数は、Python入門の中でもすでにいくつか使用していますし、これからも頻繁に使用していきます。全部で69個あります。
第13回.関数の定義(def文)と引数関数は一連の処理をまとめることで再利用可能にしたものです。プログラム内の小さなプログラムと言えるものです。関数は引数を受け取り(引数が無い場合もあります)一連の処理をした結果を返します。Pythonには組み込み関数がありますが、このような関数を独自に作成することができます。
第14回.関数内関数(関数のネスト)とスコープ関数は一連の処理をまとめることで再利用可能にした、プログラム内の小さなプログラムのようなものです。Pythonでの関数の記述方法は多彩です。今回は、関数内関数とスコープについて解説します。関数内関数は関数のネストです。
第15回.lambda(ラムダ式、無名関数)と三項演算子関数は一連の処理をまとめることで再利用可能にした、プログラム内の小さなプログラムのようなものです。Pythonでの関数の記述方法としてlambda(ラムダ式、無名関数)があります。lambdaは無名関数を定義するものです。
第16回.Pythonの引数は参照渡しだが・・・r>関数やメソッドの引数に渡す方法としては、「参照渡し」と「値渡し」があります。Pythonはすべて参照渡しであり、値渡しを指定する書き方は用意されていません。では、Pythonの参照渡しとはどういうものか… 関数全般については、以下3回に渡ってやってきました。
第17回.リスト内包表記Pythonではリストを生成する方法の1つとしてリスト内包表記があります。リスト内包表記を使うと1行でシンプルに書くことが出来ます。Pythonではシンプルかつ効率的な記述方法として良く利用されています。
第18回.例外処理(try文)とexception一覧スクリプトを実行したときには各種の例外(エラー)が発生することがあります。スクリプトを書いて実行し、エラーが出れば修正してまた実行する。これを繰り返すことでエラーのないプログラムが完成していきます。しかし、エラーが出ないように完全に対処することは極めて困難です。
第19回.import文(パッケージ・モジュールのインポート)Pythonで使う関数には、・組み込み関数・標準ライブラリ・外部ライブラリ・自作モジュール等々、いろいろな形態があります。これらのうち、組み込み関数以外はimport(インポート)して使う必要があります。ここで使っている用語が分かりづらいので、まずは簡単に用語説明した後に、import文の文法と使い方についてみていきます。
第20回.フォルダとファイルの一覧を取得Pyhtonでフォルダやファイルを操作する手段は複数提供されています。標準ライブラのos,glob,pathlibについてサンプルコードとともに解説していきます。バージョン3.4で追加されたpathlibがとても便利なので、これが使えれば良いと思います。
第21回.CSV読み込みとopen()関数とwith文Pythonの標準ライブラリのcsvを使いCSVファイルを読み込みます。ファイルをオープンするにはopen()関数を使いますが、このときwith文を使うととても便利です。open()関数の仕様を確認してから、with文の使い方、そしてCSVの読み込みと順に解説していきます。
第22回.CSV読み書き(csvモジュール)Pythonの標準ライブラリのcsvモジュールを使いCSVファイルを読み書きします。前回の続きとしてcsvの書き込みをやります。第21回.CSV読み込みとopen()関数とwith文 csvモジュールのより詳細な解説をします。
第23回.pipコマンド(外部ライブラリのインストール)pipは、Pythonのパッケージ管理ツール(パッケージマネージャ)です。PyPIに公開されているPythonパッケージのインストールおよび管理ができます。Pythonには多数の標準ライブラリがありますが、さらに外部ライブラリを活用することで、よりPythonの開発が便利かつ効率的に行えます。
第24回.エクセルを操作する(openpyxl)PythonでExcelファイルを扱ってみましょう。それには、外部ライブラリのopenpyxlを使うと便利ですし、簡単に扱う事が出来ます。openpyxlはとても機能が豊富で、エクセルに対するかなり多くの事が出来ます。
第25回.エクセルを操作する(pywin32:win32com)PythonでExcelファイルを扱ってみましょう。前回は外部ライブラリのopenpyxlを使いました。第24回.エクセルを操作する(openpyxl) 今回は外部ライブラリのpywin32を使います。
第26回.WEBスクレイピング(selenium)PythonでWEBスクレイピングをします。これにはいろいろな方法がありますが、定番ともいえるseleniumを使います。seleniumを使う事で、WEBスクレイピングがとても簡単に行う事ができるようになります。