pandas - Python Concatenate Multiple CSV files with no header -
so have 3,000 csv files , named differently. example, cdee.csv , structure 1 line containing name , amount.
cdee | 3993
i tried concatenate , keep getting
cdee | 3993 | aase| 3939 .........
but want
cdee | 3992 aase | 3939 xxxx | yyyy
here code: import pandas pd import glob, os
path = "/home/username/myfolder" os.chdir(path) results = pd.dataframe([]) counter, file in enumerate(glob.glob(".csv*")): namedf = pd.read_csv(file,skiprows=0, usecols=[1,2,3]) results = results.append(namedf) results.to_csv('combined.csv')
thanks help, appreciate it!
you need use pd.concat
documented here
import pandas pd import os import glob path = "." os.chdir(path) results = pd.dataframe() counter, current_file in enumerate(glob.glob("*.csv")): namedf = pd.read_csv(current_file, header=none, sep="|") print(namedf) results = pd.concat([results, namedf]) results.to_csv('combined.csv', index=none, header=none, sep="|")
note there few mistakes fix:
- change
glob.glob(".csv*")
glob.glob("*.csv")
files end.csv
- to following output:
cdee|3992 aase|3939 xxxx|yyyy
you need call df.to_csv
index=none
not write index, header=none
not write header , sep="|"
use |
separator instead of default ,
Comments
Post a Comment