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

  • 相关阅读:
    iOS刨根问底-深入理解RunLoop
    深入理解RunLoop
    Core Graphics框架 利用Quartz 2D绘图
    经济
    次贷危机的原因
    次级抵押贷款
    信用评级
    信用
    理解UIView的绘制-孙亚洲
    二级域名
  • 原文地址:https://www.cnblogs.com/hankleo/p/10511523.html
Copyright © 2011-2022 走看看