美文网首页
python脚本解决csv文件用excel打开乱码

python脚本解决csv文件用excel打开乱码

作者: 金融测试民工 | 来源:发表于2020-11-19 23:38 被阅读0次

        从数据库导出的数据(csv)用Notepad++打开文件显示正常,用excel打开乱码。这种情况下我们可以用Notepad++打开之后修改文件的编码格式。保存之后用excel打开可以解决乱码的问题。题主之前都是这样的处理,但是当时采集的文件总共有1100万行+的数据,题主对文件进行了拆分拆分为109个小文件。这种情况之下题主就不能采取一个打开自己转码然后保存了,题主和业务的同事沟通,业务的同事说一定要用excel打开。本着为业务服务的精神。题主写了下面的脚本将一个文件下面的所有文件批量转换编码。这样100多个文件分分钟转码成功。

        题主写这个脚本之前先用python查看了打开为乱码文件的编码为“UTF-8”,转码之后打开正常的文件编码为“UTF-8-SIG”

    脚本如下:

    import os

    path ='csv文件路径'

    targetPath = '转换编码保存路径'

    def getfiles(path):

        path_collection=[]

        for dirpath,dirnames,filenames in os.walk(path):

            for file in filenames:

                fullpath=os.path.join(dirpath,file)

                path_collection.append(fullpath)

            return path_collection

    def covertCode(file):

        sourcefile = open(file,'r')

        s = sourcefile.read()

        sourcefile.close()

        targetFile = getTargetFile(file,targetPath)

        tf = open(targetFile,"w")

        a = s.decode("utf-8").encode("utf-8-sig")

        tf.write(a)

        tf.close()

    def getTargetFile(file,targetpath):

        filename = os.path.basename(file)

        targetfile = os.path.join(targetpath,filename)

        return targetfile

    for file in getfiles(path):

        covertCode(file)

    相关文章

      网友评论

          本文标题:python脚本解决csv文件用excel打开乱码

          本文链接:https://www.haomeiwen.com/subject/hniebktx.html