Как читать CSV-файлы из папки, прочитать первые 10 файлов и сохранить в один CSV, прочитать следующие 10 файлов и сохранить в другой CSV-файл и так далее - PullRequest
0 голосов
/ 23 ноября 2018
path = r'D:/PYTHON/My codes/Frequency envelopes/test'

all_files = glob.glob(os.path.join(path, "*.csv"))

names = [os.path.basename(x) for x in all_files]

df = pd.DataFrame()

for file_, name in zip(all_files, names):

    file_df = pd.read_csv(file_,index_col=False)

    file_df['file_name'] = name
    df = df.append(file_df)

** Этот фрагмент кода работает для чтения всех файлов из каталога и сохранения в одном файле, я хочу прочитать первые 10 файлов из каталога и сохранить в одном файле CSV и следующие 10 файлов из того же каталога, чтобы сохранитьв других CSV и т. д. я хочу сделать это, пока не завершите все CSV-файлы в каталоге, если у кого-то есть решение, пожалуйста, укажите здесь **

Ответы [ 2 ]

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

IIUC, разделите ваш список на list из list, каждый подсписок содержит 10 элементов

names=[names[i:i+3] for i in range(0, len(names), 3)]

all_files=[all_files[i:i+3] for i in range(0, len(all_files), 3)]


for file, name in zip(all_files, names):
    df=pd.DataFrame()
    for x , y in zip(file,name):
        file_df = pd.read_csv(x,index_col=False)

        file_df['file_name'] = y
        df = df.append(file_df)
        df.to_csv(name+'.csv')
0 голосов
/ 23 ноября 2018

Добавьте nrows = 10, чтобы прочитать первые 10 строк.

import pandas

for file_, name in zip(all_files, names):

    file_df = pd.read_csv(file_,nrows=10)    #reading first ten lines

    file_df['file_name'] = name
    df = df.append(file_df)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...