Разбейте строку цифр c на список целых чисел - PullRequest
0 голосов
/ 01 мая 2020

Я получил список, используя pandas, но цифра c подобна строке цифра c. Я пытаюсь преобразовать его в список целых чисел.

excel_frame = read_excel(args.path, sheet_name=1, verbose=True, na_filter=False)
data_need = excel_frame['Dependencies'].tolist()
print(data_need)

intStr = data_need.split(',')
map_list = map(int, intStr)
print(map_list)

Я получаю следующую ошибку.

$python ExcelCellCSVRead.py -p "C:\MyCave\iso\SDG\Integra\Intest\first.xlsx"
Reading sheet 1
['187045, 187046']
Traceback (most recent call last):
  File "ExcelCellCSVRead.py", line 31, in <module>
    intStr = data_need.split(',')
AttributeError: 'list' object has no attribute 'split'

Целевой вывод должен быть таким -> [187045, 187046]. Текущий вывод выглядит следующим образом -> ['187045, 187046']

Я почти уверен, что следовал предложенному подходу для решения проблемы, но все равно выдает ошибку.

С уважением

data_need

1 Ответ

2 голосов
/ 01 мая 2020

Проблема:

data_need = excel_frame['Dependencies'].tolist()

возвращает list. Таким образом, вы не можете разделить его дальше.

Измените свой существующий код следующим образом:

intStr = data_need[0].split(',') ## if you have only 1-element in data_need
map_list = list(map(int, intStr))
print(map_list)

Протестировано на вашем примере:

In [1000]: data_need = ['187045, 187046']                                                                                                                                                                   

In [1001]: intStr = data_need[0].split(',')                                                                                                                                                                 

In [1002]: map_list = list(map(int, intStr))                                                                                                                                                                

In [1003]: print(map_list)                                                                                                                                                                                  
[187045, 187046]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...