2017-09-19 14 views
-1

私はpython openpyxlを介してデータを読み取るために使用される1つのExcelシートを持っています...私のスクリプトでは、ws ['E2': ' AB3 ']はAB3として読み込まれる最後のエントリですが、今はシートが更新され、最後のセル座標はAR3 ...どのようにコードの一般的なので、 ? 注意(私はシートの行と列の合計数を見つける...私は何を行うことができます)変数としてワークシートの範囲を与える方法

rows = ws.max_row 
column = ws.max_column 
print(rows,column) 
column_letter = get_column_letter(column) 
print(column_letter) 
+0

より具体的にしてください、あなたはそれが自動的にすべての列を読み込むことができ、単に特定の列の型をロードしたりしたいですか? –

+0

最後まで – Abhishek

答えて

-1

あなただけ、すべての列をロードするパンダを使用し、その単純で非常に多くの機能を持っている場合。

import pandas as pd 

# Load in the Excel file (sheetname is optional, defaults to first sheet) 
df = pd.read_excel('/some/file/path/excel_file_name.xlsx', sheetname='Sheetx') 

# Check the first 5 rows 
print(df.head()) 
+0

すべての列をロードするWS ['F2': 'A03']をWS ['F2': 'AR3']にワークシートの範囲を与える方法列番号を44のように変換する私は、この行= ws.max_row 列= ws.max_column 印刷(行、列) column_letter = get_column_letter(列) プリント(column_letter)//プリントAR 数= column_letter //置くARをやったので、それがARでありますカウント変数 fatrows = ws ['F2': 'count3'] ...それは動作しません。どうすれば可能になりますか? – Abhishek

+0

openpyxlまたはxlrd(Pandasによって内部的に使用されます)ワークシートの読み方について –

0

質問:私は汎用コード

を作ることができる方法:私はあなたが常に 'E2' で開始すると仮定します。

from openpyxl.utils import range_boundaries 
# Define only start 'E2',  
# all max_* values, last Row, Column, are returned by Default 
min_col, min_row, max_col, max_row = range_boundaries('E2') 

# Iterate all Rows, starting at min_row == 2 
for columns in worksheet.iter_rows(min_col=min_col, min_row=min_row, max_col=max_col, max_row=max_row): 
    # Iterate all Columns, starting at min_col == 'E' 
    for cell in columns: 
     print('%s: cell.value=%s' % (cell, cell.value)) 
関連する問題