zoukankan      html  css  js  c++  java
  • Excel打开无BOM-UTF8文件中文乱码

      运营同学需求扫库统计全服大V玩家,在数据库上扫出结果发过去之后,反馈说使用Excel打开玩家姓名都是乱码。看了下发过去的文件,发现都是linux下不带BOM的UTF8编码文件,而Excel作为Windows下的软件,需要使用BOM头来确定文件为UTF8编码,所以需要给文件加上BOM头。

      一般的需求都是去掉BOM头,这次需求居然是加上BOM头,比较奇怪,不过试了下,发现用Python完成转换还是非常方便的,读出来直接decode/encode即可,代码如下:

      

     1 #coding=utf8
     2 #将文件夹内的所有文件由utf8转换为utf8_With_Bom
     3 
     4 import os
     5 
     6 rootDir = 'D:\111\'
     7 
     8 def Trans():
     9     for lists in os.listdir(rootDir):
    10         path = os.path.join(rootDir, lists)
    11         if not os.path.isdir(path):
    12             f = open(path,'rb')
    13             content = f.read()
    14             f.close()
    15             temp = content.decode('utf-8')
    16             result = temp.encode('utf-8-sig')
    17             f = open(path.replace('.txt', '.result.txt'),'wb')
    18             f.write(result)
    19             f.close()
    20 
    21 if __name__ == '__main__':
    22     Trans()
  • 相关阅读:
    python mysql操作
    常用sql语句总结
    python 正则表达式总结
    hdu 6199 dp
    hdu 6212 区间dp
    hdu 6214 割边最少的最小割
    2017沈阳网络赛G XOR 分块(分类讨论sqrt)
    HDU 6166 二进制分组
    hdu 6194 后缀数组
    hdu 6201 树分治
  • 原文地址:https://www.cnblogs.com/gns3/p/4096132.html
Copyright © 2011-2022 走看看