CSV文件拆分情况。。。
收藏
CSV文件拆分情况。。。
1.要注意读取的分隔符
2.保存时要注意保存的分隔符
分隔符坑很多,有的是“,”, 有的是空格,有的是tab,不一而足。。。。。。
import os
from sklearn.model_selection import train_test_split
import pandas as pd
import numpy as np
def rename():
for (root, dirs, files) in os.walk("tianchi_datasets", topdown=False):
for name in files:
new_name = os.path.join(root, root.split('/')[-1] + '_' + name)
print(os.path.join(root, "\t", name), new_name)
os.rename(os.path.join(root, name), new_name)
def break_data(target, rate=0.2):
for (root, dirs, files) in os.walk(target, topdown=False):
for name in files:
if "_" in name:
print(name)
origin_filename = os.path.join(root, name)
origin_dataset = pd.read_csv(origin_filename, delimiter="\t", header=None) # 加入参数
train_data, test_data = train_test_split(origin_dataset, test_size=rate)
train_filename = os.path.join(root, 'train.csv')
dev_filename = os.path.join(root, 'dev.csv')
train_data.to_csv(train_filename, index=False, sep="\t", header=None)
test_data.to_csv(dev_filename, index=False, sep="\t", header=None)
if __name__ == '__main__':
# rename()
break_data(target='datasets', rate=0.2)
0
收藏
我用的是框架,框架里用yaml文件设置这个分隔符,框架初始化api时默认用的‘ ’,然后框架的reader.py里又一通操作。不该框架代码的话就复制数据集里的字符吧。
是套件
有道理!
穷举大法~
其实如果是离线数据集,体量又不是特别大的话,我很多时候是用Excel处理的
只要能支持PowerQuery的Excel,对结构化数据的清洗能力应该是最强一级的,尤其数据集那些错漏啊啥的,都逃不过法眼。
Excel2010版本以上就行,懒得升级或者觉得装插件麻烦也可以去下个PowerBI,PowerQuery系列组件的集大成者,直接把MS这个在BI领域起步最晚的巨头拉到Gartner魔力象限第一名……遥遥领先的那种
当然啦,我相信大部分数据处理办法用Python尤其是Pandas也能做,就是学习成本不低。
平时是怎么快怎么来,不过最好用Python也实践一两次,这样对Pandas的熟悉程度是噌噌噌地涨
蹭蹭蹭……
原来还有这样的良心工具~
啊啊啊,我头晕了。
我现在在新人赛就遇到了类似情况,csv文件格式不明确,导致提交结果老是报异常,怎么破解啊?