python - Joining multiple CSV Files -
i have folder multiple csv files. every file consists of date , value column. merge files 1 first column consists of value date (which same each file) , other columns populated values of each single vile i.e. (date, value_file1, value_file2...)
any suggestions on how achieved via simple python script or maybe evan through unix command?
thank help!
i'd recommend using tool csvkit's csvjoin
pip install csvkit $ csvjoin --help usage: csvjoin [-h] [-d delimiter] [-t] [-q quotechar] [-u {0,1,2,3}] [-b] [-p escapechar] [-z maxfieldsize] [-e encoding] [-s] [-v] [-l] [--zero] [-c columns] [--outer] [--left] [--right] [file [file ...]] execute sql-like join merge csv files on specified column or columns. positional arguments: file csv files operate on. if 1 specified, copied stdout. optional arguments: -h, --help show message , exit -d delimiter, --delimiter delimiter delimiting character of input csv file. -t, --tabs specifies input csv file delimited tabs. overrides "-d". -q quotechar, --quotechar quotechar character used quote strings in input csv file. -u {0,1,2,3}, --quoting {0,1,2,3} quoting style used in input csv file. 0 = quote minimal, 1 = quote all, 2 = quote non-numeric, 3 = quote none. -b, --doublequote whether or not double quotes doubled in input csv file. -p escapechar, --escapechar escapechar character used escape delimiter if --quoting 3 ("quote none") specified , escape quotechar if --doublequote not specified. -z maxfieldsize, --maxfieldsize maxfieldsize maximum length of single field in input csv file. -e encoding, --encoding encoding specify encoding input csv file. -s, --skipinitialspace ignore whitespace following delimiter. -v, --verbose print detailed tracebacks when errors occur. -l, --linenumbers insert column of line numbers @ front of output. useful when piping grep or simple primary key. --zero when interpreting or displaying column numbers, use zero-based numbering instead of default 1-based numbering. -c columns, --columns columns column name(s) on join. should either 1 name (or index) or comma-separated list 1 name (or index) each file, in same order files specified. may left unspecified, in case 2 files joined sequentially without performing matching. --outer perform full outer join, rather default inner join. --left perform left outer join, rather default inner join. if more 2 files provided executed sequence of left outer joins, starting @ left. --right perform right outer join, rather default inner join. if more 2 files provided executed sequence of right outer joins, starting @ right. note join operation requires reading files memory. don't try on large files.