zoukankan      html  css  js  c++  java
  • json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1

    问题描述:使用Python代码将txt城市列表文件转换为xls文件,源码如下,

    #!/usr/bin/env Python
    # coding=utf-8
    import os
    import json
    import xlwt
     
    # 存放文件的目录
    filepath = '/home/tarena/python/20180312'
     
     
    def run():
        os.chdir(filepath)
        # 读取文件内容
        with open('city.txt') as f:
            content = f.read()
        # 转为json
        d = json.loads(content)
        file = xlwt.Workbook()
        # 添加sheet
        table = file.add_sheet('test')
        for row, i in enumerate(list(d)):
            table.write(row, 0, i)
            table.write(row, 1, d[i])
        file.save('city.xls')
     
    if __name__ == "__main__":
        run()

    报错误:json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0)错误,

    分析原因是因为txt文件包含BOM字符,去掉BOM字符,在content = f.read()代码下加上:

    if content.startswith(u'ufeff'):
          content = content.encode('utf8')[3:].decode('utf8')

    转载于 https://blog.csdn.net/liu_xzhen/article/details/79563782

  • 相关阅读:
    ES6标准入门之正则表达式的拓展
    将博客搬至CSDN
    CUDA杂谈
    QT源码解析笔记
    图解DTS和PTS
    图解 I帧,B帧以及P帧
    这半年的一些事情
    C++的一些编程规范
    pjsip与QT进行适配
    编程规范检测脚本
  • 原文地址:https://www.cnblogs.com/hankleo/p/10511523.html
Copyright © 2011-2022 走看看