python 读写文件包含多种编码格式的解决方式


Posted in Python onDecember 20, 2019

今天写一个脚本文件,需要将多个文件中的内容汇总到一个txt文件中,由于多个文件有三种不同的编码方式,读写出现错误,先将解决方法记录如下:

# -*- coding: utf-8 -*-
import wave
import pylab as pl
import numpy as np
import pandas as pd
import os
import time
import datetime
import arrow
import chardet
import sys 
reload(sys) 
sys.setdefaultencoding('utf8') 
os.chdir("F:/new_srt")


#get words of srt file
###########################################
def get_word():
 path = "F:/new_srt"
 filelist = os.listdir(path)
 for files in filelist:
  print files
  encoding = chardet.detect(open(files,'r').read())['encoding']
  if encoding == 'utf-8':
   data=pd.read_csv(files,encoding="utf-8",sep='\r',header=None)
  elif encoding == 'GB2312':
   try:
    data=pd.read_csv(files,encoding="gbk",sep='\r',header=None)
   except UnicodeDecodeError:
    data=pd.read_csv(files,encoding="utf-8",sep='\r',header=None)
  elif encoding == 'UTF-8-SIG':
   data=pd.read_csv(files,encoding="UTF-8-SIG",sep='\r',header=None)
  else:
   print 'this is an error about %s' % files 

  data_new=pd.DataFrame(np.reshape(data.values, (-1,3)))
  data_new.columns=['index','timecut','content']
  filename = os.path.splitext(files)[0]  #filetype = os.path.splitext(files)[1]
  with open('F:/result.txt', 'a') as file:
   file.write(str(filename)+' ' )
   for item in data_new['content']:
    file.write(item.decode("utf-8") +' ') #s=s.decode("utf-8") 
   file.write('\n')


if __name__ == '__main__':
 get_word()

以上这篇python 读写文件包含多种编码格式的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
python求解水仙花数的方法
May 11 Python
简单讲解Python编程中namedtuple类的用法
Jun 21 Python
深入学习Python中的上下文管理器与else块
Aug 27 Python
Python3导入自定义模块的三种方法详解
Apr 13 Python
对tf.reduce_sum tensorflow维度上的操作详解
Jul 26 Python
对python中不同模块(函数、类、变量)的调用详解
Jul 16 Python
Python小程序 控制鼠标循环点击代码实例
Oct 08 Python
python 实现方阵的对角线遍历示例
Nov 29 Python
python线程池如何使用
May 28 Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 Python
自动在Windows中运行Python脚本并定时触发功能实现
Sep 04 Python
pandas 中对特征进行硬编码和onehot编码的实现
Dec 20 #Python
使用python3批量下载rbsp数据的示例代码
Dec 20 #Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
Dec 20 #Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 #Python
python获取网络图片方法及整理过程详解
Dec 20 #Python
python序列化与数据持久化实例详解
Dec 20 #Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 #Python
You might like
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
2013/01/06 PHP
php读取csv数据保存到数组的方法
2015/01/03 PHP
php生成短域名函数
2015/03/23 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
cookie的secure属性详解
2015/04/08 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
python简单分割文件的方法
2015/07/30 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
Python3 元组tuple入门基础
2020/02/09 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
python实现俄罗斯方块游戏(改进版)
2020/03/13 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
师德承诺书
2015/01/20 职场文书
春风化雨观后感
2015/06/11 职场文书
考试后的感想
2015/08/07 职场文书
解决tk mapper 通用mapper的bug问题
2021/06/16 Java/Android
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技