Как изменить диапазон ячеек в серии списков? (Панды читают из Excel)

#python #excel #pandas

Вопрос:

Я работаю с Пандами, Excel и Matplotlib. Программа выполняет некоторые операции с данными, хранящимися в Excel, и также сохраняет их там. Затем он выводит данные на график. Данные, подлежащие построению, состоят из слишком большого количества массивов, которые выглядят следующим образом:

 x=list(excelfile['Дата'][2:3625])
y1=list(excelfile['a'][2:3625])
y2=list(excelfile['a1'][2:3625])
y3=list(excelfile['a1=f(b)'][2:3625])
y4=list(excelfile['c'][2:3625])
y5=list(excelfile['c=f(d)'][2:3625])
 

Есть ли какой-либо способ, которым я мог бы задать диапазон ячеек ([2:3625]) вручную, раз и навсегда, без необходимости переписывать его каждый раз, когда я хочу работать с другим диапазоном

Ответ №1:

В общем, если вы обнаруживаете, что выполняете повторяющуюся работу, вам нужны переменные и функции. Например

 def getData(filename, startCell, endCell):
    return list(excelfile[filename][startCell:endCell]


startCell = 2
endCell = 3625

x = getData('Дата', startCell, endCell)
# ...
 

Ответ №2:

Вы можете присвоить значения диапазона переменным, как в приведенном ниже коде.

 a = 2
b = 3625
x=list(excelfile['Дата'][a:b])
y1=list(excelfile['a'][a:b])
y2=list(excelfile['a1'][a:b])
y3=list(excelfile['a1=f(b)'][a:b])
y4=list(excelfile['c'][a:b])
y5=list(excelfile['c=f(d)'][a:b])