У меня есть лист Excel, где некоторые строки отформатированы как number
, но некоторые строки отформатированы как text
. У меня есть скрипт Python, который читает каждую строку и конвертировать его в JSON и обрабатывать его. Лист Excel выглядит следующим образом:
На изображении выше мы видим, что значения в строке 98, 99, 100, 101, 102, столбец 1форматируются как текст, но значения в строке 103, 104 столбца 1 форматируются как числа. У меня есть ниже код Python для доступа к нему:
import xlrd
wb = xlrd.open_workbook("file.xlsx")
sheet = wb.sheet_by_index(4)
for i in range(4, 185): #from 5th row to 186th row
data = dict()
print(str(sheet.cell_value(i, 0)))
data['ProductNumber'] = str(sheet.cell_value(i, 0))
Я должен сохранить значения в str
, и поэтому я использовал str
. Но я получаю результаты ниже для строк с 98 по 104
ROW Value Extracted
98 907
99 088
100 019
101 274
102 905
103 290.0
104 971.0
Выше результаты выглядят хорошо для строк с 98 по 102, но для строк 103, 104 это неправильно. Это должно быть только 290 & 971
. Чтобы сделать это, я поставил int
перед str
, как показано ниже:
str(int(sheet.cell_value(i, 0)))
Теперь, используя это выше, результаты выглядят следующим образом:
ROW Value Extracted
98 907
99 88
100 19
101 274
102 905
103 290
104 971
Это снова неверно, потому что значениядля строк 99 и 100 должно быть 088
& 019
, а не 88
& 19
. Как я могу решить эту проблему. Могу ли я использовать какую-нибудь проверку, которая поможет мне решить это? Я использую xlrd модуль Python.