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实现在目录中查找指定文件的方法
Nov 11 Python
Python使用Redis实现作业调度系统(超简单)
Mar 22 Python
python如何查看系统网络流量的信息
Sep 12 Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 Python
Python语言描述随机梯度下降法
Jan 04 Python
Atom的python插件和常用插件说明
Jul 08 Python
Python绘制频率分布直方图的示例
Jul 08 Python
Django多数据库的实现过程详解
Aug 01 Python
Python PyInstaller库基本使用方法分析
Dec 12 Python
python的pip有什么用
Jun 17 Python
Python3 webservice接口测试代码详解
Jun 23 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 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 字符串替换的方法
2012/01/10 PHP
一些需要禁用的PHP危险函数(disable_functions)
2012/02/23 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
全面解析Bootstrap表单使用方法(表单控件)
2015/11/24 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
Canvas实现放射线动画效果
2017/02/15 Javascript
基于jQuery的表单填充实例
2017/08/22 jQuery
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
[00:32]10月24、25日 辉夜杯外卡赛附加赛开赛!
2015/10/23 DOTA
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
python logging类库使用例子
2014/11/22 Python
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
pygame学习笔记(2):画点的三种方法和动画实例
2015/04/15 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
Python faker生成器生成虚拟数据代码实例
2020/07/20 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
Reformation官网:美国女装品牌
2018/09/14 全球购物
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
毕业自荐信
2013/12/16 职场文书
求职信标题怎么写
2014/05/26 职场文书
财务负责人岗位职责
2015/02/03 职场文书
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server