в моих прошлых вопросах, я заявил, что я новичок в python. Я использовал его только один раз для работы. И еще раз, есть небольшой проект, который я должен сделать для работы.Прочитайте файлы Excel и используйте только определенные файлы
Мне нужно прочитать файл excel, и в этом файле excel есть 3 столбца (col1, col2, col3). Существует около 100 строк.
col1 имеет 2 значения A и B. col2 имеет значения от ТОЛЬКО 1 - 10. col3, существует множество различных значений.
Но я хочу, чтобы моя программа python просматривала каждое отдельное значение в col1, а затем при каждом отдельном значении в col2, а затем вычисляла avg всех соответствующих значений col3.
Будем надеяться, что выход может выглядеть примерно так:
A - 1 = 2.3
A - 2 = 6.2
A - 3 = 5.7
etc. etc.
B - 1 = 3.5
B - 2 = 4.1
B - 3 = 8.1
etc. etc.
Я знаю, что это много, чтобы спросить, но я сделал это до сих пор:
import xlrd #import package
#opening workbook and reading first sheet
book = xlrd.open_workbook('trend.xls')
sheet = book.sheet_by_index(0)
#print sheet name, number of rows and columns
#print sheet.name #print sheet name
#print sheet.nrows #print number of rows
#print sheet.ncols #print number of colums
#print cellname along with value in for loop
for row_index in range(sheet.nrows):
for col_index in range(sheet.ncols):
print xlrd.cellname(row_index,col_index),'-',
print sheet.cell(row_index,col_index).value
Он начал печатать все значения в каждой ячейке вместе с именем и т. д. Но потом я понял, что он не делает то, что он действительно должен делать. И я не могу найти правильный учебник о том, как это сделать.
Если у кого-то из вас есть предложения, я буду очень этому благодарен. Спасибо огромное!
Я вижу это просто выводит его. Есть ли способ сделать это как ... если эта ячейка (col1) равна строке, она начнет смотреть на col2, а затем, если это значение ячейки равно определенной строке, оно будет записывать все значения col3, который соответствует и вычисляет avg ?? – chakolatemilk
Был занят редактированием - как вы отредактировали свой вопрос секунд после того, как я отправил оригинальный ответ :-) – andyhasit
Подождите, я случайно набрал что-то неправильно. :) – chakolatemilk