Объединение CSV разных форм в один CSV - PullRequest
1 голос
/ 02 апреля 2020

У меня есть CSV с разным количеством строк и столбцов. Я хотел бы создать один большой CSV, где все данные CSV располагаются непосредственно друг над другом, выровненные по первому столбцу. Я попробовал сценарий ниже с ограниченным успехом; b, который является пустым массивом, не содержит данных из предыдущих циклов.

from os import walk
import sys
import numpy as np

filenames= []
dirpath = []
filtered = []
original = []
f = []
b = np.empty([2, 2])



for (dirpath, dirnames, filenames) in walk("C:\\Users\\dkim1\\Python Scripts\\output"): 
     f.extend(dirnames) 

print(f) 

for names in f:  
    print(names)
    df = np.genfromtxt('C:\\Users\\dkim1\\Python Scripts\\output\\' + names + '\\replies.csv', dtype =None, delimiter = ',', skip_header=1, names=True)
    b = np.column_stack(df)
print(b)

1 Ответ

1 голос
/ 03 апреля 2020

Вы пробовали pd.concat ()?

import os
import pandas as pd

# just used a single dir for example simplicity, rather than os.walk()
root_dir = "your directory path here"
file_names = os.listdir(root_dir)

cat_list=[]
for names in file_names:  
    df = pd.read_csv(os.path.join(root_dir, names), delimiter = ',', header=None)
    cat_list.append(df)


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