WindowsのパスをPythonで使えるようにする

ファイルパスをリプレースorエスケープするAPI。

【この記事完成後たいぶ経ってから発覚した衝撃の事実(追記)】

Pythonにはraw stringsというしくみがあり、文字列にプレフィックス「r」を付与することでエスケープが必要なくなります。

たとえば fp = r'c:\Users\ore\Desktop\saitama_city.xlsx' でOKです。パスならこれで問題ないです。以下は修正しないでおきますが「コイツ何言ってんだ」くらいで見といてください。無知はおそろしいですね。


Windowsのファイルパスは「\」マークで階層が表現されています。※環境により円マークに見えたりバックスラッシュに見えたりしますが、これらは見た目が違うだけでコンピューター上は同義です。

「\」はPythonのエスケープシーケンスで使われる文字のため、WindowsシステムからコピペしたパスをPythonで扱おうとするとうまくいきません。毎度手作業で置き換えたりエスケープしたりするのは面倒なので、コンピューターにやらせましょう。

ということでAPIにしてみました。Javascriptだけでも全然いける処理ですが、勉強も兼ねて。

利用方法

1.Windowsでファイルパスをコピーします。
エクスプローラーの「パスのコピー」またはSHIFT + 右クリックしてメニューから「パスのコピー」をすると楽です。

file_path_rep1.png

2.ページ下部のフォームに貼り付けます。

3.実行したい処理のボタンを押します。
REPLACEボタンでバックスラッシュをスラッシュへ置き換えます。

file_path_rep2.png

ESCAPEボタンで、バックスラッシュをエスケープします。

file_path_rep3.png

お好きな方をお使いください。


4.COPYボタンでクリップボードへコピーします。

file_path_rep4.png


5.Pythonコードへ貼り付けてご利用ください。

ファイルパス変換

利用上のご注意
  • このAPIを利用したことにより生じた結果については、利用者ご自身に責任を負っていただきます。
  • ご利用前に使用方法をご確認ください。
  • 当方は成果物の正確性について最善を尽くしますが保証はいたしません。
  • 送信されたデータはサーバーへ保存されることはありません。
  • 送信されたデータは成果物生成のためだけに利用され、他の用途に利用されることはありません。

related pages
VBAでファイルを開くのが遅すぎるのでPythonで無理矢理に高速化する
VBAとPythonを連携させてファイル読み込み高速化。

我々VBAerにとっては周知の事実ですが、Excel-VBAで時間がかかる処理と言えば、「ワークシートへのアクセス」と「ファイルを開く」です。Pythonでデータ取得してVBAでExcelへ取り込むことでファイルを開く処理を高速化します。

Read More ...
ExcelをPostgreSQLへ変換するPythonスクリプト
ExcelシートをPostgreSQLのテーブルへ変換。

ExcelシートをSQLiteへ変換するスクリプトを作りましたが、完全にアプリの中にデータベースを組み込めないのであれば、素直にサーバー型のデータベースにした方がいいですね。ということで私はPostgreSQL派なので、先のスクリプトをPostgreSQL用に書き換えました。

Read More ...
ExcelブックからPythonでメールを送る
PythonでExcelブックのリストからメール送信。

当然といえば当然なのですが、Pythonでメールの送受信をすることができます。それもBattery Includedの理念にあるように、標準モジュールのみの構成で実現できます。ここに神ツールOpenPyXLを組み合わせると、Excelシートにあるメールアドレス一覧へ片っ端からメールを送信するスクリプトができあがります。

Read More ...
この記事の
作成日

2020-01-14

更新日

2020-08-31

ページ内検索
目次
WEB MASTER
さいた
神エクセル撲滅協会理事(自称)
さいたま市民 埼玉こそ地上の楽園