python有关csv文件的记录

Posted 吉吉的奥利奥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python有关csv文件的记录相关的知识,希望对你有一定的参考价值。

1、合并所有测试集和训练集的文件:

使用cmd到所在盘下,输入copy *.CSV all_***.csv即可

2、单独提取异常数据列作为csv文件:

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:pytorchdata1.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 = ‘ ‘,error_bad_lines=False)也没有用

删除整行重复项:

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打开 

with open("fer2013.csv", "rt", encoding="utf-8") as vsvfile:
     reader = csv.reader(vsvfile)
     rows = [row for row in reader]
           print(rows)

以上是关于python有关csv文件的记录的主要内容,如果未能解决你的问题,请参考以下文章

python--csv文件读写

python读写csv文件

Python爬虫编程思想(81): CSV文件存储

Python爬虫编程思想(81): CSV文件存储

Python入门教程第72篇 读取CSV文件

使用 Python 3 读取 CSV 文件