Очистка данных по словарю файлов .CSV - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь найти хорошую реализацию для удаления выбранных столбцов из набора CSV-файлов.У меня есть каталог файлов CSV, из которого я хочу объединить данные временных рядов, но хочу только значения и временную метку.Я хотел бы отбросить только другие столбцы, и мне также любопытно, как выполнить такую ​​задачу после объединения файлов.Пока что у меня есть нечто вроде:

files = glob.glob("../dir/subdir/*.csv")
data = {os.path.basename(fname):pd.read_csv(fname) for fname in files}
for df in data:
     df.drop(columns = ['A', 'D'])

Это не работает по нескольким причинам, но как мне достичь своей цели?

1 Ответ

0 голосов
/ 02 января 2019

Предполагая, что вы хотите сохранить столбцы 'B' и 'C'.И вы просто хотите очистить данные в соответствии с вашим последним предложением, то есть вы просто хотите, чтобы работа была выполнена, так что Python специально не требуется, тогда эта однострочная строка командной строки создаст для вас новый .csv всего за второеи третьи столбцы:

awk 'FNR == 1 {next} BEGIN {FS=","} {print $2","$3}' *.csv > new.csv

Я предполагаю, что вы хотите, чтобы полностью сцепленный файл в конце считывался в DataFrame, поэтому он настроен на чтение каждого файла .csv, начиная со второй строки, так что вы 'Мне придется заменить заголовок после того, как он сделан.

Приношу свои извинения, если это должно быть сделано с использованием DataFrames, я довольно новичок здесь.

...