Есть ли функция, которая может убрать апостроф из данных, взятых из Excel? - PullRequest
0 голосов
/ 17 октября 2019

Я извлекаю данные из Excel в виде многомерного массива. Когда я пытаюсь перебрать массив для получения каждого значения, немногие значения в полученном списке содержат апострофы, а некоторые другие значения не содержат. Есть ли способ исправить это?

Я пытался использовать функцию полосы, но это не было плодотворно. Пожалуйста, помогите.

Я ожидаю, что результат будет (2.56942078E+00, -8.59741137E-05, 4.19484589e-08, -1.00177799e-11, 1.22833691e-15, 29217.5791, 4.78433864)

Но я получаю ('2.56942078E+00', '-8.59741137E-05', 4.19484589e-08, -1.00177799e-11, 1.22833691e-15, 29217.5791, 4.78433864)

1 Ответ

0 голосов
/ 17 октября 2019

Апострофы показывают, что элемент является строкой, а не плавающей точкой. ' - это просто представление строки. Чтобы использовать его как float, просто конвертируйте тип.

array = ('2.56942078E+00', '-8.59741137E-05', 4.19484589e-08, -1.00177799e-11, 1.22833691e-15, 29217.5791, 4.78433864)

for item in array:
    print(type(item))

<class 'str'>
<class 'str'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>

Посмотрите, как первые два элемента являются строками, а не плавающими. Теперь просто конвертируйте элемент в float, прежде чем делать с ним что-то еще:

for item in array:
    item = float(item)
    print(type(item))

<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
...