решение есть, но csv обрабатываются не так, как в Excel.
из документации, для csv:
usecols: list-like или callable, по умолчанию Нет
Например, допустимый параметр списка соединений, подобный списку, будет [0, 1, 2] или [[foo ’,‘ bar ’,‘ baz ’].
для Excel:
usecols: int или list, по умолчанию None
- Если нет, то анализировать все столбцы,
- Если int, то указывает на последний столбец, который будет проанализирован
- Если список целых чисел указывает на список номеров столбцов, которые нужно проанализировать
- Если строка, то указывает разделенный запятыми список букв столбцов Excel и диапазонов столбцов (например, «A: E» или «A, C, E: F»). Диапазоны с обеих сторон
поэтому вам нужно назвать это так:
xl_file = pd.read_excel('D:/SnapPython/TestDF.xlsx', sheet_name='Sheet 2', usecols='ForeignKey')
и если вам нужно также 'number'
:
xl_file = pd.read_excel('D:/SnapPython/TestDF.xlsx', sheet_name='Sheet 2', usecols='number,ForeignKey')
EDIT :
Вам нужно указать имя столбца Excel, а не имя данных.
другой ответ решить это.
однако вам не понадобится «B: B», «B» сделает трюк НО , который не улучшит протоколы с числами.
если вы можете загрузить все данные не вовремя, возможно, лучший способ решить эту проблему - проанализировать все столбцы и затем выбрать нужные столбцы:
xl_file = pd.read_excel('D:/SnapPython/TestDF.xlsx', sheet_name='Sheet 2')['ForeignKey']