Phytonコンソールへエクセルのテーブルをコピペ
エクセルなど表計算ソフトから表のデータをPython上の変数へ取ってきたい時が時々ある。一押しなPythonインタプリタであるDreampieを使ってやる例を去年も書いたけど、Python使い始めだったので非常に長く汚いコードをのっけてしまった。
とう言う訳で、今回はもうちょっとスマートにやりたい。
DreamPieのPreferenceのShellのタブに行くと、初期化したときに実行されるスクリプトを入力する欄があります。これをつかって関数を定義してしまえば、site-packageとかを汚さずにDreamPieを使っている時だけ有効な自分だけの関数ができるわけです。
def table2list(data, delimiter='\t'):
'''
data: excel or csv table as formated text.
delimiter: tab (\t) is defaul.
output: list with all elements typed as float.
'''
output = []
for line in data.splitlines():
if line != '':
output.append( [float(n) for n in line.split(delimiter)] )
return output
やっていることは前回書いたのと多分ほぼ同じだけど、だいぶ短くすっきりとできるようになった。numpy arrayには適時np.array(output)とかして変換すればいいだけなのでここではpure pythonで書いて依存性をなくしといた。
使い方はトリプルクォーテーションで囲った整形済みテキストとしてエクセルからのデータをdataのところへ渡せばいいだけ。delimiterは普通タブでいいはずなので省略可。
« AHKを使ってGeanyからDreamPieへ選択されたテキストを送って実行する。 | トップページ | Firefoxのアドインchaikaでしたらばなど外部板をみる。 »
「Python」カテゴリの記事
- Noteの記事をPythonでバックアップしといた。(2021.05.05)
- JupyterLabでも好きな外部エディターを使いたい!(2018.05.02)
- ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。(2018.05.02)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
- Juliaやってみよう。四日目。@timeでプロファイリング(2017.07.16)
« AHKを使ってGeanyからDreamPieへ選択されたテキストを送って実行する。 | トップページ | Firefoxのアドインchaikaでしたらばなど外部板をみる。 »



コメント