xlwings - найти координату ячейки, содержащую значение (дату)
У меня есть лист Excel, который содержит расчеты с использованием формул. Он обновлялся вручную каждый месяц, но в основном я работал над его автоматизацией. Я много читал о том, как использовать openpyxl, но я хотел прочитать значения, а не формулы, поэтому я нашел xlwings. Теперь я нашел трудности в поиске координат ячейки в xlwings. Это довольно просто в openpyxl cell.coordinate и хочет что-то похожее на это.
Я довольно новичок в Python, так что, пожалуйста, не против мой синтаксис.
Я прочитал таблицу Excel в переменную sheet1 и просто пытаюсь найти дату в первой матрице 50X50 на листе.
Это цикл for:
for row in range(50):
for col in range(50):
if sheet1.range(row,col).value == '12/1/2017':
print ((row,col))
Теперь я знаю, что.value в xlwings возвращает datetime, и я сравниваю его с датой, и я нашел обходной путь, используя что-то из этого -> http://docs.xlwings.org/en/stable/converters.html
import datetime as dt
sht.range('A1').options(dates=dt.date).value
Но я не понимаю, как мне это реализовать.
В конце я получаю ошибку
return self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2146827284), None)
Кажется, эта ошибка не связана с тем, что я делаю, но я не могу решить эту проблему.
1 ответ
Если я понимаю, вы хотите найти координаты ячейки с конкретным текстом... Я сделал это:
for row in range(1, 10):
for col in range(1, 10):
if sht.range((row,col)).value == "TEXT":
print("The Row is: "+str(row)+" and the column is "+str(col))
Надеюсь я тебе помог