Я использую библиотеку XLRD для чтения определенной ячейки листа Excel. Эта ячейка может иметь или не иметь несколько значений, разделенных запятыми.
Ниже приведен фрагмент кода
from xlrd import open_workbook
from argparse import ArgumentParser as parser
parse = parser()
parse.add_argument('-p', '--path', action='store', dest='path', help='mention the excel sheet path')
args = parse.parse_args()
excelList = []
book = open_workbook(args.path)
dep_cms = book.sheet_by_index(1)
for row_index in range(1, dep_cms.nrows):
excelList.append(dep_cms.cell(row_index, 8).value)
print(excelList)
for name in excelList:
print('Dependent CMS is {}'.format(name))
Это вывод на печать, подобный этому ...
['187013, 187014, 187015']
Dependent CMS is 187013, 187014, 187015
Он обрабатывает значения, разделенные запятыми, как одну строку.
Идеальный результат должен быть таким, как показано ниже
['187013', '187014', '187015']
Dependent CMS is 187013
Dependent CMS is 187014
Dependent CMS is 187015
Как разделить их на значения CS? Я знаю, что мы можем использовать split для разделения строки. Но как использовать это в этом контексте?
С уважением
PS:
Основываясь на предложении в разделе комментариев, я попытался разделить
Результат был примерно таким:
[['187013', ' 187014']]
Dependent CMS is ['187013', ' 187014']
Если я использую пробел вместо запятой в качестве разделителя, то результат будет следующим:
[['187013,', '187014']]
Thy name is ['187013,', '187014']
Создание массива внутри массива, который не то, что я хочу.
Основываясь на предложении ответа, сработал следующий фрагмент.
excelList.extend([x.strip() for x in dep_cms.cell(row_index, 8).value.split(',')])