Повторение одинаковых процессов для нескольких файлов CSV - PullRequest
0 голосов
/ 23 декабря 2018

Я новичок в Python.У меня есть около 1000 файлов CSV (1.csv, 2.csv .... 1000.csv).Каждый CSV-файл содержит около 3 000 000 000 строк и 14 переменных.Я хотел бы сначала очистить данные в каждом файле CSV, используя один и тот же процесс для каждого файла CSV:

  1. переменная суммы A и переменная B,
  2. счет C по дате сортировки, еслиКоличество записей в C за один день больше 50, затем отбросьте его.

Затем сохраните очищенные данные в новый файл CSV.Наконец, добавьте все 1000 новых CSV-файлов в один CSV-файл.

У меня есть следующий код, но он сначала импортирует все файлы CSV, а затем обрабатывает данные, что очень неэффективно.Я хотел бы сначала очистить данные в каждом файле CSV, а затем добавить новые файлы CSV.Может ли кто-нибудь помочь мне в этом?Любая помощь будет оценена.

enter image description here

1 Ответ

0 голосов
/ 23 декабря 2018

Это то, что я понимаю из вашего вопроса.Я прочитал все файлы и добавляю новый столбец для суммирования.Затем я заказываю дату и сбрасываю любое значение C больше 50. После этого я сохраняю обновление.Прежде чем сделать это, вы должны скопировать ваши исходные файлы или сохранить их под другим именем.

import glob
import os
import pandas as pd

path = "./data/"
all_files = glob.glob(os.path.join(path, "*.csv")) #make list of paths

for file in all_files:
    # Getting the file name without extension
    file_name = os.path.splitext(os.path.basename(file))[0]
    df = pd.read_csv(file_name)
    df['new_column'] =  df['A']+ df['B']
    df.sort_values(by='C')
    df.drop(df.loc[df['C']>50].index, inplace=True)
    df.to_csv(file_name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...