Как объединить несколько CSV-файлов в один фрейм данных - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть 6 CSV-файлов с одинаковыми заголовками. Я пытаюсь удалить индекс 0 и объединить их в один кадр данных. Одна проблема, с которой я продолжаю сталкиваться, - это доступ к последнему файлу в glob.

import glob
import csv
import pandas as pd

for item in glob.glob("*.csv"):
    with open(item, 'r') as csvfile:
        reader = csv.reader(csvfile, delimiter=',')
        for row in reader:
            print(row)

есть мысли?

1 Ответ

0 голосов
/ 30 апреля 2018
import glob
import pandas as pd

dfs = []
for file in glob.glob("*.csv"):
    dfs.append(pd.read_csv(file))
pd.concat(dfs)

Или даже в одной строке:

pd.concat([pd.read_csv(file) for file in glob.glob("*.csv")])

pandas имеет функцию для чтения одного .csv файла. Поэтому я предлагаю использовать pd.read_csv(filename) (подробнее см. здесь ) в вашем цикле, чтобы сделать DataFrame для каждого файла CSV. Вы можете добавить все свои DataFrames в список.

После цикла вы можете concat все DataFrames, используя pd.concat([df1, df2, ...]), минуя этот список (подробности см. здесь ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...