Как исправить испорченное копирование CSV - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь скопировать кучу CSV-файлов в 1 большой CSV. все 3 файла имеют одинаковые заголовки столбцов, но я изменил их в соответствии с именами файлов. Например, файл arousal_a_103_happy.csv теперь будет находиться в новом csv в заголовке столбца для его столбцов.

Моя проблема в том, что 1-й: он копирует файл в очень странном порядке, не переворачивает его, просто каждый столбец находится там, где он хочет. 2-й: он не копирует файлы рядом друг с другом, но больше похож на уклон. поэтому, если первый файл заканчивается в P23, новый файл начнется в Q24.

Это код:

def concatenate(path = "C:\\Users\\User\Desktop\\Work\\subject", outfile = "C:\\Users\\User\\Desktop\\Work\\subject\\concatenated.csv"):
    os.chdir(path)
    fileList=glob.glob("*happy.csv")
    dfList=[]
    print(fileList)
    i=1
    string = "subject" 
    for files in fileList:
        df = pd.read_csv("C:\\Users\\Desktop\\Work\\subject\\" + files, encoding ='CP1255') #Get's error because of the link!
        sub = files
        i+=1
        ColNames =[sub + " Level",  sub +" Description", sub+" Number",sub+" Onset_Date",sub+" Onset_Time",sub+" Offset_Date",sub+" Offset_Time",sub+" Duration_Date",sub+" Duration_Time",sub+" Arousal",sub+" Gaze",sub+" Movement"   , sub+" Vocalization", sub+" eyes covered", sub+" Mother\'s arrousal", sub+"    Transcript"]
        df.columns=ColNames
        dfList.append(df)

    concatDf = pd.concat(dfList, axis=0, ignore_index=True, verify_integrity=True)
    concatDf.to_csv(outfile, index=None)

1 Ответ

1 голос
/ 17 мая 2019
# Fetching files
import csv
FileNames = []
path="C:\\Users\\User\Desktop\\Work\\subject\\"
os.chdir(path)
for counter, files in enumerate(glob.glob("*.csv")):
    FileNames.append(files)
print (FileNames)



# Merging all .csv from your folder 'subject'
pathout="C:\\Users\\User\Desktop\\Work\\subject\\"
for filenames in SortedFileNames:
    df = pd.read_csv(filenames,encoding='utf-8')
    saved_column = df.tweet
    saved_column.to_csv(pathout+"mixed.csv", mode='a')
print("File Created Sucessfully mixed.csv")
...