前提・実現したいこと
pythonを使ってExcelのファイルの指定した列の値を取得したいと考えています.
例えば以下のexcelシートがあったとき
A | B | C |
---|---|---|
1 | 1 | 1 |
1 | 1 | 1 |
1 | 1 | 1 |
1 | 1 | 1 |
1 | 1 | 1 |
1 | ||
1 | ||
1 | ||
1 |
A列の値は最後まで取得できるのですが,
B列の値は,5行目までしか値が入っていないのにもかかわらず,
10行目まで値を取得してしまいます.
プログラムを実行すると出力値はこのようになります.
A= [1, 1, 1, 1, 1, 1, 1, 1, 1]
B= [1, 1, 1, 1, 1, None, None, None, None]
しかも格納されている値はNoneで表示されます
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
python
1import numpy as np 2from matplotlib.ticker import * 3from openpyxl import load_workbook 4 5def Value(path,file_name,point_row,Title): 6 book = load_workbook('{0}\{1}.xlsx'.format(path,file_name)) 7 active_sheet = book.active 8 9 A = [ i.value for i in active_sheet[point_row]] 10#一番初めの行にタイトルが入っているなら削除 11 if Title=="ON": 12 A.pop(0) 13 else: 14 pass 15 return A 16 17path = "C:\Users\N\0000"#ファイルの場所 18filename = "sample"#Excelのファイル名 19A = Value(path,filename,"A","ON") 20print("A=",A) 21B = Value(path,filename,"B","ON") 22print("B=",B)
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
全ての列の値の個数を同じにするといけるのですが,それぞれ,個数が違うと一番長い列に合わせる仕様になっているような気がします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/05 02:28
2021/02/05 02:30