1、合并所有测试集和训练集的文件:
使用cmd到所在盘下,输入copy *.CSV all_***.csv即可
2、单独提取异常数据列作为csv文件:
1
2
3
4
5
6
7
8
9
10
11
|
import csv import codecs #coding:utf-8 with open ( "G:\\data_release\\train1.0\\all_train.csv" , "rt" ,encoding = "utf-8" )as f: reader = csv.DictReader(f) column = [row[ 'triggername' ] for row in reader] file_name = "G:\\data_release\\train1.0\\triggername.csv" file_csv = codecs. open (file_name, 'w+' , 'utf-8' ) writer = csv.writer(file_csv, delimiter = ' ' , quotechar = ' ' , quoting = csv.QUOTE_MINIMAL) for data in column: writer.writerow(data) |
虽然可以写入,但是出现乱码原因应该为csv的BOM没有更改
解决方法:将encoding='utf8'改为encoding='gb18030'
但是打开文件发现并不是所有内容都在第一列,有一些出现第二列,原因是一句话里面出现了逗号
解决方法:遍历列表将逗号改为空格
i=0
while i < len(column):
column[i].replace(","," ")
i+=1
不知道怎么的不适合我用的csv文件,还在继续检查中
3、删除一些字符,如果知道字符的位置可以在列表的基础上进行操作
去除首部空格 line=line.lstrip()
4、导入一个csv文件的时候 data = pd.read_csv('G:\pytorch\data1.csv',encoding='utf-8')
报错的内容是这样的:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc9 in position 0: invalid continuation byte
修改至data = pd.read_csv('F:\data1.csv', encoding='unicode_escape',header=None,sep = '\t',error_bad_lines=False)也没有用
删除整行重复项:
1
2
3
|
from more_itertools import unique_everseen with open ( 'F:\data1.csv' , 'r' ) as f, open ( 'F:\data2.csv' , 'w' ) as out_file: out_file.writelines(unique_everseen(f)) |
5、unexpected index是代码的缩进出现问题
6、文本文件用rt,二进制文件用rb打开
1
2
3
4
|
with open ( "fer2013.csv" , "rt" , encoding = "utf-8" ) as vsvfile: reader = csv.reader(vsvfile) rows = [row for row in reader] print (rows) |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/0211ji/p/13211412.html