Форум сайта python.su
Добрый день,
Имеется OPC-сервер с набором данных:
<переменная1> <значение>
<переменная2> <значение>
<переменная3> <значение>
…
С помощью Python'а записываю эти данные в Excel
data = opc.read(vals) #список vals содержит имена нужных переменных i = 1 for new_data in data: sheet_data['A'+str(i)].value = new_data[0] sheet_data['B'+str(i)].value = new_data[1] i = i + 1 data_wb.save('E:\Python\Test.xlsx')
Traceback (most recent call last): File "E:\Python\Prj\Bot\bot.py", line 74, in <module> sheet_data['B'+str(i)].value = new_data[1] File "E:\Python\Phyton279\lib\site-packages\openpyxl\cell\cell.py", line 299, in value self._bind_value(value) File "E:\Python\Phyton279\lib\site-packages\openpyxl\cell\cell.py", line 196, in _bind_value value = self.check_string(value) File "E:\Python\Phyton279\lib\site-packages\openpyxl\cell\cell.py", line 160, in check_string raise IllegalCharacterError IllegalCharacterError
print type(new_data[1]) print ('!!!-',new_data[1]) <type 'unicode'> ('!!!-', u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
Офлайн
SolosНикак. Вам же модуль ясно говорит что такие значения в exel невозможно сохранить.
Подскажите, как записать это значение в Excel.
Офлайн
Спасибо, только начал осваивать Python, не знал про такую функцию.
Прочитал про нее. Не нашел аргумент именно под свой случай, не хотелось бы пропускать все ошибки.
Отредактировано Solos (Апрель 11, 2018 09:59:20)
Офлайн
Solosну оно ж вам выдало IllegalCharacterError вот и пишите
Не нашел аргумент именно под свой случай, не хотелось бы пропускать все ошибки.
try: .... пишем в таблицу данные except IllegalCharacterError: ... пищем в таблицу "не могу обработать эту херню"
[code python][/code]
Отредактировано PEHDOM (Апрель 11, 2018 13:32:46)
Офлайн