CSV文件拆分情况。。。
收藏
快速回复
AI Studio平台使用 问答其他 2182 33
CSV文件拆分情况。。。
收藏
快速回复
AI Studio平台使用 问答其他 2182 33

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
收藏
回复
全部评论(33)
时间顺序
UnseenMe
#2 回复于2021-01

CSV嘛,还是用逗号Comma比较好。

感谢分享。

0
回复
AIStudio810258
#3 回复于2021-01

好像也可以用numpy吧

0
回复
AIStudio810258
#4 回复于2021-01
好像也可以用numpy吧

是说读取,不是拆分~

0
回复
AIStudio810259
#5 回复于2021-01
CSV嘛,还是用逗号Comma比较好。 感谢分享。

人家数据是tab,前后保持一致嘛

0
回复
AIStudio810259
#6 回复于2021-01
好像也可以用numpy吧

是不是,下次抄一抄

0
回复
UnseenMe
#7 回复于2021-01
人家数据是tab,前后保持一致嘛

是呀,遇到这种不按套路出牌的,也只能奉陪到底了

0
回复
AIStudio810260
#8 回复于2021-01

我同事之前不知道有Tab这种分隔符(Excel导出默认),Pandas处理的时候一直用sep的空格分隔符识别,一行命令可以搞定的事情折腾了老半天,还用上了正则啥的,哈哈哈

0
回复
AIStudio810259
#9 回复于2021-01
我同事之前不知道有Tab这种分隔符(Excel导出默认),Pandas处理的时候一直用sep的空格分隔符识别,一行命令可以搞定的事情折腾了老半天,还用上了正则啥的,哈哈哈

有逗号,空格,t ab

0
回复
AIStudio810260
#10 回复于2021-01
有逗号,空格,t ab

有的数据集会用“|”

0
回复
AIStudio810258
#11 回复于2021-01
我同事之前不知道有Tab这种分隔符(Excel导出默认),Pandas处理的时候一直用sep的空格分隔符识别,一行命令可以搞定的事情折腾了老半天,还用上了正则啥的,哈哈哈

哈哈,搞不定就会用那个处理所有特殊分割字符的正则啦~~

0
回复
AIStudio810258
#12 回复于2021-01
有的数据集会用“|”

,和|起码看得见,tab和空格真是个坑

0
回复
AIStudio810258
#13 回复于2021-01
,和|起码看得见,tab和空格真是个坑

是说真正的”坑“~

0
回复
AIStudio810258
#14 回复于2021-01

有次因为这个分隔符,我真服了。。。自己打上去的 tab 不行,复制数据集里的就行了,只能苦笑~~

0
回复
AIStudio810258
#15 回复于2021-01
有次因为这个分隔符,我真服了。。。自己打上去的 tab 不行,复制数据集里的就行了,只能苦笑~~

难道这个跟文件编码还有关系?

0
回复
AIStudio810258
#16 回复于2021-01
有次因为这个分隔符,我真服了。。。自己打上去的 tab 不行,复制数据集里的就行了,只能苦笑~~

或者是linux与win里的这些tab,换行的编码不同导致的吧

0
回复
AIStudio810259
#17 回复于2021-01
有次因为这个分隔符,我真服了。。。自己打上去的 tab 不行,复制数据集里的就行了,只能苦笑~~

高手高手

0
回复
AIStudio810260
#18 回复于2021-01
有次因为这个分隔符,我真服了。。。自己打上去的 tab 不行,复制数据集里的就行了,只能苦笑~~

这个不是打的吧,是设置的

0
回复
AIStudio810260
#19 回复于2021-01
,和|起码看得见,tab和空格真是个坑

我觉得这是IDE的问题……一些IDE可以看见的

0
回复
AIStudio810260
#20 回复于2021-01
哈哈,搞不定就会用那个处理所有特殊分割字符的正则啦~~

那是很难处理到位的

0
回复
AIStudio810260
#21 回复于2021-01
或者是linux与win里的这些tab,换行的编码不同导致的吧

是的,windows和linux下面tab还略有不同

0
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户