python - 我在哪里将解码代码放在 python 脚本中?
问题描述
我是 python 新手,我的经验很少。
更新:添加完整的错误消息**
"UnicodeDecodeErrorTraceback (most recent call last) in () 36 df1 = df1.drop('LOCATION_DESCR',axis=1) 37 filename = i+'_'+j+'_'+TODAY+'.xlsx' ---> 38 df1.to_excel(new_dir+'\\'+filename,index = False) 39 print filename +' is created' 40 summary.append([i,j,str(len(df1.index))]) c:\python\lib\site-packages\pandas\core\generic.pyc in to_excel(self, excel_writer, sheet_name, na_rep, float_format, columns, header, index, index_label, startrow, startcol, engine, merge_cells, encoding, inf_rep, verbose, freeze_panes) 2125 formatter.write(excel_writer, sheet_name=sheet_name, startrow=startrow, 2126 startcol=startcol, freeze_panes=freeze_panes, -> 2127 engine=engine) 2128 2129 def to_json(self, path_or_buf=None, orient=None, date_format=None, c:\python\lib\site-packages\pandas\io\formats\excel.pyc in write(self, writer, sheet_name, startrow, startcol, freeze_panes, engine) 660 writer.write_cells(formatted_cells, sheet_name, 661 startrow=startrow, startcol=startcol, --> 662 freeze_panes=freeze_panes) 663 if need_save: 664 writer.save() c:\python\lib\site-packages\pandas\io\excel.pyc in write_cells(self, cells, sheet_name, startrow, startcol, freeze_panes) 1603 column=startcol + cell.col + 1 1604 ) -> 1605 xcell.value, fmt = self._value_with_fmt(cell.val) 1606 if fmt: 1607 xcell.number_format = fmt c:\python\lib\site-packages\openpyxl\cell\cell.pyc in value(self, value) 270 def value(self, value): 271 """Set the value and infer type and display options.""" --> 272 self._bind_value(value) 273 274 @property c:\python\lib\site-packages\openpyxl\cell\cell.pyc in _bind_value(self, value) 227 228 elif dt == "s": --> 229 value = self.check_string(value) 230 if len(value) > 1 and value.startswith("="): 231 self.data_type = 'f' c:\python\lib\site-packages\openpyxl\cell\cell.pyc in check_string(self, value) 178 # convert to unicode string 179 if not isinstance(value, unicode): --> 180 value = unicode(value, self.encoding) 181 value = unicode(value) 182 # string must never be longer than 32,767 characters UnicodeDecodeError: 'utf8' codec can't decode byte 0xa0 in position 14: invalid start byte" error message.
我尝试添加 my_string.encode('utf-8') ,其中 my_string 实际上是一个正在创建的文件名。我知道这很可能是不正确的,但我不知道错误指的是什么字符串。
我有几个问题:
如何缩小错误指向的范围?
我应该在代码中的什么位置放置我必须生成的解码代码?
解决方案
推荐阅读
- apache-flink - Flink fs s3 shaded hadoop:使用 StreamingFileSink 到 S3 时出现 KerberosAuthException
- hive - 在作业执行期间启动的映射器
- php - Laravel curl 请求导致“403 Forbidden”响应
- if-statement - 基于另一个工作表中的复选框的 Googlesheets 条件格式
- android - 如何让 WifiManger 在 API 29 Android 中工作
- azure-logic-apps - 是否可以检索当前运行开始的时间?
- r - 在 R 包 HMSC 中运行 Mcmc 时如何修复 tcrossprod 错误
- ios - Firebase 电子邮件身份验证未在单击链接时打开 iOS 应用程序
- mfc - 我可以将“DECLARE_DYNCREATE”转换为“DECLARE_DYNAMIC”吗?
- css - SASS - 如果选中子元素,则在父元素的伪元素(之后)中应用样式