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 相关文章推荐
基于Django与ajax之间的json传输方法
May 29 Python
python生成多个只含0,1元素的随机数组或列表的实例
Nov 12 Python
不到40行代码用Python实现一个简单的推荐系统
May 10 Python
Python对接 xray 和微信实现自动告警
Sep 17 Python
django formset实现数据表的批量操作的示例代码
Dec 06 Python
关于tf.reverse_sequence()简述
Jan 20 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
Feb 15 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
Apr 16 Python
python nohup 实现远程运行不宕机操作
Apr 16 Python
matlab xlabel位置的设置方式
May 21 Python
总结Python变量的相关知识
Jun 28 Python
Python常用配置文件ini、json、yaml读写总结
Jul 09 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
php学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
webpack-url-loader 解决项目中图片打包路径问题
2019/02/15 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
使用PDB简单调试Python程序简明指南
2015/04/25 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
2016/04/12 Python
TensorFlow损失函数专题详解
2018/04/26 Python
python3个性签名设计实现代码
2018/06/19 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
python面试题小结附答案实例代码
2019/04/11 Python
PyQt5组件读取参数的实例
2019/06/25 Python
Numpy数组array和矩阵matrix转换方法
2019/08/05 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
Python如何实现强制数据类型转换
2019/11/22 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
Python底层封装实现方法详解
2020/01/22 Python
python实现猜数游戏
2020/03/27 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
Python中Selenium库使用教程详解
2020/07/23 Python
python 带时区的日期格式化操作
2020/10/23 Python
初中生期末评语大全
2014/04/24 职场文书
小学生国旗下演讲稿
2014/04/25 职场文书
物资采购管理制度
2015/08/06 职场文书
js中Object.create实例用法详解
2021/10/05 Javascript