Создайте папку с пустым файлом с определенным именем в каждой подпапке - PullRequest
0 голосов
/ 16 ноября 2018

В столбце csv есть пара чисел в каждой строке:

col
12
14
11
..

Я создал папку для каждой строки с таким именем:

import pandas as pd
import os
path = ..
fn = pd.read_csv(r'C:\Users\user\Desktop\xlfile\asc.csv',header = None)
for i in df["col"].astype(str):
    os.mkdir(os.path.join(path, i))
    os.mkdir(os.path.join(path, i)) #this has to be make in the last folder
    #file from a certain path to be copied 

Теперь я хочу создать папку с определенным файлом в каждой из этих папок.

имя папки: new_f и файл находится в пути

path: ...

Как создать папку с именем new_f и сделать копию этого файла в этом пути к каждой созданной папке?

UPDATE : Дальнейшее объяснение

То, что сделал ответ ниже, это только то, что эти файлы должны быть в еще одной папке.

* * Пример тысяча двадцать-один: * * 1 022

папки теперь идут после вашего кода в ответе:

12 // file.shp
14 // file.shp

пока они должны быть

12 // new_folder// file.shp annd file.shx and file.dbf

path = 'this path has the above files scattered so maybe it can read what files are there and copy them to each of the folders as said.

1 Ответ

0 голосов
/ 16 ноября 2018

Вы можете использовать shutil для копирования файла в ваши каталоги:

import pandas as pd
import os
from shutil import copy

path = ..
file_names = ['text1.txt', 'text2.txt', 'text3.txt']  # replace with your file you want copied

df = pd.read_csv(r'C:\Users\user\Desktop\xlfile\asc.csv',header = None)
for i in df["col"].astype(str):
    dest = os.path.join(path, i)
    os.mkdir(dest)
    dest = os.path.join(path, i, 'new_folder')
    os.mkdir(dest)
    for file_name in file_names:
        source = os.path.join(path, file_name)
        copy(source, dest)

Это создает 3 папки с именами 11, 12 и 14, каждая из которых содержит копию файла text.txt.

...