... то, что dict.get()
имеет значение по умолчанию ни из Одного, таким образом, избегая KeyErrors:
In [1]: test = { 1 : 'a' }
In [2]: test[2]
---------------------------------------------------------------------------
Traceback (most recent call last)
<ipython console> in ()
: 2
In [3]: test.get( 2 )
In [4]: test.get( 1 )
Out[4]: 'a'
In [5]: test.get( 2 ) == None
Out[5]: True
и даже определить это 'на сцене':
In [6]: test.get( 2, 'Some' ) == 'Some'
Out[6]: True
И можно использовать setdefault(
) для имения набора значений, и возвратился, если он не существует:
>>> a = {}
>>> b = a.setdefault('foo', 'bar')
>>> a
{'foo': 'bar'}
>>> b
'bar
Похоже, имя вашего листа [1. page $] недействителен. Это нормально для имени листа Excel, но не подходит для запроса. У вас не должно быть символа "." в имени листа.
Вы не можете обойти "." проблема. Это просто недопустимо, когда вы выполняете запрос.
SpreadsheetGear для .NET позволит вам работать с файлами Excel без ограничений, налагаемых OleDb.
Вы можете увидеть образцы C # и VB здесь и попробовать это можно сделать самостоятельно, загрузив бесплатную пробную версию здесь .
Отказ от ответственности: я владею SpreadsheetGear LLC