У меня есть, возможно, тысяча фактур в Excel, все из которых имеют клиент/имя в B2 с адресом, разделенным на B3 и B4, с B3, имеющим номер и название улицы, и город, штат и почтовый индекс в B4. То, что я пытаюсь сделать, - открыть каждый из этих файлов excel (все находятся в одном каталоге) и извлечь имя и адрес для создания новой электронной таблицы с информацией в ней.Информация о конденсировании из нескольких электронных таблиц в один с помощью python
Вот то, что я до сих пор:
import glob
from xlrd import open_workbook, XL_CELL_TEXT
from xlwt import Workbook
from tempfile import TemporaryFile
invoices = glob.glob("C:\emma\*.xls")
wbook = Workbook()
wsheet = wbook.add_sheet('Sheet 1')
R = 0
for x in invoices:
rbook = open_workbook(x)
rsheet = rbook.sheet_by_index(1)
ncell = rsheet.cell(1,1)
acell1 = rsheet.cell(1,2)
acall2 = rsheet.cell(1,3)
name = ncell.value
address = acell1.value + " " + acell2.value
wsheet.write(R,0,name)
wsheet.write(R,1,address)
R = R + 1
wbook.save('addresses.xls')
wbook.save(TemporaryFile())
На данный момент он не работает. Вот ошибка, которую я получаю:
Traceback (most recent call last):
File "C:\emma\emma.py", line 14, in <module>
ncell = rsheet.cell(1,1)
File "C:\Python27\lib\site-packages\xlrd\sheet.py", line 399, in cell
self._cell_types[rowx][colx],
IndexError: list index out of range
Я не совсем уверен, что вызывает эту ошибку.
'rbook.sheet_by_index (1)' - листы основаны на нулевом значении: вы имеете в виду второй лист здесь? –