LoginSignup
3
5

More than 5 years have passed since last update.

ExcelでPythonプログラミング

Last updated at Posted at 2016-06-04

#【環境】
 windows8.1
 python2.7

#【概要】
 ExcelをIDE(統合開発環境)のように使います。

#【フォルダ構成】
 excel_python
    |---code_gene.py
    |---code_gene.xlsx

#【Excel】
 フィボナッチ数列を出力するプログラムを書きました。
 Excelのセル1つがpythonでのインデント1つになります。
exce..png

#【プログラム】

code_gene.py
# -*- coding: utf-8 -*-

from excel import OpenExcel 

# ファイル読み込み
f = OpenExcel('code_generation.xlsx') 

# cell_valueに行ごとにセルの値を追加
cell_value = []
for row in xrange(1, len(f.read('A')) + 1):
    cell_value.append(f.read(row))

# 改行のみの行に改行コードを代入
for row in xrange(len(cell_value)):
    kaigyo = ""
    for col in xrange(len(cell_value[0])):
        kaigyo += kaigyo + cell_value[row][col]
    if kaigyo == "":
        cell_value[row][0] = "\n"

# コード生成
for row in xrange(len(cell_value)):
    for col in xrange(len(cell_value[0])):
        if not len(cell_value[row][col]) == 0:
            print cell_value[row][col]
            break
        else:
            print "    ",

 このプログラムを実行します。
 実行方法は
  python code_gene.py > code.py & python code.py

#【実行結果】
 1
 1
 2
 3
 5
 8
 13
 21
 34
 55

code.py
# -*- coding: utf-8 -*-
def fib(n):
     if n < 2:
          return 1
     else:
          return fib(n-1) + fib(n-2)


for i in xrange(10):
     print fib(i)

#【問題】
 Excelでの改行1つが、出力したpythonファイルでは改行2つになってしまう。

#【参考サイト】
 めざせpythonライブラリマスター (12)excel

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5