python 读写文件包含多种编码格式的解决方式
作者:hm11290219 发布时间:2022-01-12 18:02:10
标签:python,读写文件,编码格式
今天写一个脚本文件,需要将多个文件中的内容汇总到一个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()
来源:https://blog.csdn.net/hm11290219/article/details/71426577
0
投稿
猜你喜欢
- 首先简单介绍一下什么叫MySQL;数据库简而言之就是存储数据的仓库,为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。是为了实现
- 简介 tensorflow 配套的可视化工具, 将你的计算图画出来.当训练一个巨大的网络的时候, 计算图既复杂又令人困惑. TensorBo
- 个人理解:动态路由不同于常见的静态路由,可以根据不同的「因素」而改变站点路由列表。常见的动态路由大都是用来实现:多用户权限系统不同用户展示不
- 1、队列队列是一种遵循先进先出(FIFO)原则的数据结构。可以使用数组实现队列的基本操作。当进行入队操作的时候,即在队列尾部插入一个元素,由
- 本文实例讲述了Python通过for循环理解迭代器和生成器。分享给大家供大家参考,具体如下:迭代器可迭代对象通过 for…in… 循环依次拿
- 使用layui的文件上传组件,可以方便的弹出文件上传界面。效果如下:点击【批量导入】按钮调用js脚本importData(config)就可
- 1、使用dict()函数,通过其他映射(比如其他字典)或者键,值对的序列建立字典。dict1 = dict(a='a', b
- 一、作用创建一个新的Tensor,该Tensor的type和device都和原有Tensor一致,且无内容。二、使用方法如果随机定义一个大小
- 本文实例为大家分享了vue iview动态新增和删除的具体代码,供大家参考,具体内容如下<Form ref="capsule
- 最近圣诞节快到啦,CSDN的热搜也变成了”代码画颗圣诞树“,看了几篇博客,发现原博主把一些圣诞树给融合在了一起。我更喜欢树叶🍃更茂盛的感觉,
- 推荐的国内镜像站[ 个人推荐清华大学pypi镜像站(https://mirrors.tuna.tsinghua.edu.cn/help/py
- 概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界.梯度运算梯度:
- 欢欢喜喜辞旧岁 🐰🐰🐰辞旧迎新之际,来 AI Studio 一起 #欢喜迎兔年# !分享不同新年风俗,共享一段快乐时光!🐰🐰🐰p>下面
- 具体代码如下所述:__author__ = 'Yue Qingxuan'# -*- coding: utf-8 -*-#求质
- 本文实例讲述了Python生成器定义与简单用法。分享给大家供大家参考,具体如下:一、什么是生成器在Python中,由于受到内存的限制,列表容
- 每个JavaScript函数都有prototype属性(javascript对象没有这个属性),这个属性引用了一个对象,这个对象就是原型对象
- 在使用matplotlib绘制图片时,x轴的刻度可能比较密集,特别是以日期作为x轴时,则最后会显示不出来。数据如下,速度V的数组与时间字符串
- 本文实例讲述了Python实现Windows上气泡提醒效果的方法。分享给大家供大家参考。具体实现方法如下:# -*- encoding: g
- 在ASP中,为什么有时候刷新页面后,重新执行ASP代码时就连不上数据库了?这种情况一般发生在动态IP分配中,由于ASP连接数据库是定时的,默
- 1.Quiz有如下一个例子:package mainimport ("encoding/json""fmt&q