Форум сайта python.su
Подключился к dbf-файлам посредством pyodbc и microsoft jet
Оказывается, последний не умеет функцию REPLACE для
SELECT LEN(stroka) - LEN(REPLACE(stroka, “*”, “”)) FROM mytable
Мне надо подсчитать кол-во определённых символов в строковом поле dbf-файла.
Как извратиться?
Может, можно как-то подсунуть pyodbc и jet внешнюю функцию, написанную на питоне? Пусть это будет работать не быстро, но хоть как-то да будет!
Офлайн
АГГГГГРРРРРРРРРРРРРР!!!
Microsoft Visual Foxpro Driver умеет всё, что надо, но при этом, гадина такая, не позволяет никак указать, что файл в кодировке 866 и рисует мне кракозябры.
Microsoft Dbase Driver использует эту кодировку по-умочанию, но не умеет искать вхождения подстроки в строку!!!
Ах ты майкрософт! Да чтоб ты… была здорова!
Офлайн
Остаётся единственный выход: получать набор всех нужных строк в курсоре, а потом средствами питона высчитывать сколько там подстрок.
Офлайн