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基于Tkinter的HelloWorld入门实例
Jun 17 Python
python爬虫_自动获取seebug的poc实例
Aug 05 Python
Python弹出输入框并获取输入值的实例
Jun 18 Python
python:按行读入,排序然后输出的方法
Jul 20 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
python系列 文件操作的代码
Oct 06 Python
Python对wav文件的重采样实例
Feb 25 Python
Python新手如何理解循环加载模块
May 29 Python
记录模型训练时loss值的变化情况
Jun 16 Python
python右对齐的实例方法
Jul 05 Python
Python基础教程之输入输出和运算符
Jul 26 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
Nov 22 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
乐信RP2100的电路分析和打磨
2021/03/02 无线电
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
Javascript调用XML制作连动下拉列表框
2006/06/25 Javascript
JavaScript的目的分析
2007/01/05 Javascript
Ajax,UTF-8还是GB2312 eval 还是execScript
2008/11/13 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
Vue制作Todo List网页
2017/04/26 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
20道JS原理题助你面试一臂之力(必看)
2019/07/22 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
实例讲解python中的序列化知识点
2018/10/08 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
基于python代码批量处理图片resize
2020/06/04 Python
python如何停止递归
2020/09/09 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
平民服装店创业计划书
2014/01/17 职场文书
二年级语文教学反思
2014/02/02 职场文书
法律专业求职信
2014/05/24 职场文书
小学生春游活动方案
2014/08/20 职场文书
招标授权委托书样本
2014/09/23 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers