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

コメント

コメントを書く

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

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

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1169291/43640293

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

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

広告欄


やっつけタイムライン

広告欄

はてブ

人目の訪問です。

  • follow us in feedly

    かなり更新が不定期なため、RSSリーダーをオススメします。現在Feedlyに122人登録頂いています。多謝!RSSを表示

    ブログランキング用 にほんブログ村 IT技術ブログ Pythonへ ブログランキングならblogram






    Jenny Mayhem
2017年2月
      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        

Amazon

IT技術注目記事

無料ブログはココログ