自动从csv在多个文件夹中制作多个文本文件

时间:2019-07-05 07:48:35

标签: python-3.x pandas csv

我有一个包含许多行和列的CSV文件。我想为每一行创建一个文件夹,并且该文件夹中有两个文件:

  1. 前5列
  2. 下一栏

我已经能够创建两个案例

  1. 我已经能够创建两个文件夹'a','b''a',其中包含前五列的所有文件。反之亦然。
  2. 我已经能够创建一个带有时间戳名称的文件夹。以及其中的所有文件。

    将熊猫作为pd导入 导入操作系统 从datetime导入datetime 从日期时间导入时间戳记为ts 数据= pd.read_csv('test.csv')

    如果os.listdir(os.getcwd())中没有'10':     os.mkdir(时间戳) 如果os.listdir(os.getcwd())中没有'50':     os.mkdir('50')

    def splitter(数据,拆分= 3):     时间戳= datetime.timestamp(datetime.now())     对于我在data.itertuples()中:

        data_1 = pd.Series(i[1:split+1])
        data_2 = pd.Series(i[split+1:])
        data_1.drop
        #print(data_1)
        data_1.to_csv(r'10.txt'.format(i[0]+1),mode = 'w',index = False)
        data_2.to_csv(r'50.txt'.format(i[0]+1),mode = 'w',index = False)
    

    拆分器(数据)

我想使用不同的文件夹名称作为停止冗余的名称

1 个答案:

答案 0 :(得分:0)

根据您的评论,可能每行一个文件夹。

import csv
import os
with open('test.csv','r')as f:
    data = csv.reader(f)


    def splitter(data, split = 3):
        rowNumber = 0
        for row in data:
            if rowNumber == 0:
                rowNumber += 1
                continue
            os.mkdir("folder-"+str(rowNumber))

            # Split it and create individual files
            with open("folder-"+str(rowNumber)+"/"+"10.csv","w") as tfile:
                tfile.write(",".join(row[0:5]))

            with open("folder-"+str(rowNumber)+"/"+"50.csv","w") as tfile:
                tfile.write(",".join(row[5:]))
            rowNumber += 1

    splitter(data)

我删除了Pandas库,因为它似乎不是必需的。而是使用了CSV库。 for循环使用每一行为其创建一个文件夹,然后创建两个必需的文件。