CSV 파일을 병합하는 방법

CSV 파일을 병합하는 방법

다음 형식의 CSV 파일이 있습니다.

1.csv
1,2,3,4,5,6,7,8
2.csv
2,4,5,7,8,8,9,5
3.csv
2,3,4,5,6,7,8,9

에 따라 18.csv.

나는 결과가 result.csv다음과 같기를 원합니다:

1,2,3,4,5,6,7,8,2,4,5,7,8,8,9,5,2,3,4,5,6,7,8,9

시도했지만 cat하나씩 추가됩니다. 또한 CSV를 다음과 같이 변환하고 싶습니다 1.csv.

1
2
3
4
5
6
7
8

답변1

result.csv 파일을 얻었습니다.

for i in {1..18}; do paste $i.csv; done | paste -s > result.csv

아니면 고양이와 함께:

for i in {1..18}; do cat $i.csv; done | paste -s > result.csv

-s(paste/cat을 사용하여 모든 것을 하나로 묶은 다음 한 줄에 맞도록 출력 형식을 지정하십시오 .)

루프 방지:

cat {1..18}.csv | paste -s > result.csv

1.csv 전치:

sed 's/,/\n/g' 1.csv

(캐리지 리턴을 통해 쉼표를 변환하면 됩니다)

답변2

1 부:

paste -d, {1..18}.csv 

범용 전치의 경우 datamash를 사용하십시오.

cat {1..3}.csv | datamash -t, transpose
1,2,2
2,4,3
3,5,4
4,7,5
5,8,6
6,8,7
7,9,8
8,5,9

관련 정보