« AHKを使ってGeanyからDreamPieへ選択されたテキストを送って実行する。 | トップページ | Firefoxのアドインchaikaでしたらばなど外部板をみる。 »

2012年1月 6日 (金)

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」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Phytonコンソールへエクセルのテーブルをコピペ:

« AHKを使ってGeanyからDreamPieへ選択されたテキストを送って実行する。 | トップページ | Firefoxのアドインchaikaでしたらばなど外部板をみる。 »

やっつけタイムライン

オススメたち

  • Librem One

    LibremOneでプライバシーを取り戻せ!VPN、eメール、チャット、ソーシャルメディア詰め合わせサービス

    follow us in feedly

    かなり更新が不定期なため、RSSリーダーをオススメします。RSSを表示

    超安定なLinux Mintを応援中



    超かっこいいジャズピアノ岩瀬章光

    Jenny Mayhem超おすすめ

    今読んでいる

2019年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

はてブ

無料ブログはココログ