Как скопировать строку листа Excel на другой лист с помощью Python
Я хочу сравнить значение данного столбца в каждой строке с другим значением, и если значения равны, я хочу скопировать всю строку в другую электронную таблицу.
Как я могу сделать это с помощью Python?
СПАСИБО!
2 ответа
Пожалуйста, обратитесь к библиотеке Python Excel xlrd
(для чтения Excel) /xlwt
(для написания Excel) http://www.python-excel.org/
например (чтение)( из этого):
import xlrd
fname = "sample.xls"
bk = xlrd.open_workbook(fname)
shxrange = range(bk.nsheets)
try:
sh = bk.sheet_by_name("Sheet1")
except:
print "no sheet in %s named Sheet1" % fname
return None
nrows = sh.nrows
ncols = sh.ncols
print "nrows %d, ncols %d" % (nrows,ncols)
cell_value = sh.cell_value(1,1)
print cell_value
row_list = []
for i in range(1,nrows):
row_data = sh.row_values(i)
row_list.append(row_data)
если вы работаете с Excel 2007, то используйте openpyxl
: http://packages.python.org/openpyxl/
Для файлов "xls" можно использовать пакет xlutils. В настоящее время невозможно копировать объекты между книгами в openpyxl из-за структуры формата Excel: существует множество зависимостей повсюду, которыми нужно управлять. Поэтому ответственность за копирование всего необходимого вручную лежит на клиентском коде. Если позволяет время, мы можем попытаться перенести некоторые функции xlutils на openpyxl.