У меня есть ячейка в книге Excel с разделенными запятыми значениями.
Эта ячейка может иметь значения со следующим шаблоном.
0
или 123
или 123, 345
.
Я хочу извлечь их как список целых чисел, используя XLRD
или pandas.read_excel
.
Я попытался использовать xlrd со следующим фрагментом.
book = open_workbook(args.path)
dep_cms = book.sheet_by_index(1)
for row_index in range(1, dep_cms.nrows)
excelList = []
excelList.extend([x.strip() for x in dep_cms.cell(row_index, 8).value.split(',')])
Я даже пытался pandas
excel_frame = read_excel(args.path, sheet_name=2, skiprows=1, verbose=True, na_filter=False)
data_need = excel_frame['Dependent CMS IDS'].tolist()
print(data_need)
Но получил индекс списка вне диапазона.
Reading sheet 2
Traceback (most recent call last):
File "ExcelCellCSVRead.py", line 25, in <module>
excel_frame = read_excel(args.path, sheet_name=2, skiprows=1, verbose=True, na_filter=False)
File "C:\Users\Kris\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\io\excel\_base.py", line 311, in read_excel
return io.parse(
File "C:\Users\Kris\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\io\excel\_base.py", line 868, in parse
return self._reader.parse(
File "C:\Users\Kris\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\io\excel\_base.py", line 441, in parse
sheet = self.get_sheet_by_index(asheetname)
File "C:\Users\Kris\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\io\excel\_xlrd.py", line 46, in get_sheet_by_index
return self.book.sheet_by_index(index)
File "C:\Users\Kris\AppData\Local\Programs\Python\Python38-32\lib\site-packages\xlrd\book.py", line 466, in sheet_by_index
return self._sheet_list[sheetx] or self.get_sheet(sheetx)
IndexError: list index out of range
Он не работает с одним значением в ячейке (например, просто 0 или какое-то значение, например 123). Это выводит AttributeError: 'float' object has no attribute 'split'
.
Это работает, только если у меня есть значения, разделенные запятыми, и преобразует их в список строк, таких как ['123', '345']
. Я предполагаю, что условие разделения является виновником.
Как извлечь значения этой ячейки, используя XLRD или pandas в список целых чисел ?
Привет