다양한 열의 해당 값을 기준으로 열과 항목 구성

다양한 열의 해당 값을 기준으로 열과 항목 구성

나는 큰 것을 가지고있다.csv 파일 입력카테고리(A열)와 항목(B열)의 2개 열이 있습니다. 각 항목은 A열에 있는 특정 카테고리를 가지며 그룹 자체보다 한 행 위에 있습니다. 예를 들어 3~10행은 '색상' 카테고리에 있습니다. (A2) 해당 항목 등:

Column A    Column B
Category    Item
colours 
            red
            blue
            pink
            yellow
            brown
            gray
            white
            violet
trees   
            coconut
            weeking wilow
            ginkgo
            dragon tree
            camphor tree
animals 
            sea urchins
            box jelyfish
            insect
            dinosaur
            triceratops
            apatosaurus

나는.csv 파일 출력다음과 같습니다.

  • 첫 번째 열이 항목이 됩니다.
  • 두 번째 열은 카테고리가 되며 특정 카테고리에 해당하는 각 항목에 대해 해당 카테고리를 각 행의 두 번째 열에 배치합니다. 기본적으로 각 항목에 해당하는 카테고리를 복제합니다.

input.csv 댓글

최종적으로 output.csv 파일은 다음과 같습니다.

Column A        Column B
Item            Category
red             colours
blue            colours
pink            colours
yellow          colours
brown           colours
gray            colours
white           colours
violet          colours
    
coconut         trees
weeking wilow   trees
ginkgo          trees
dragon tree     trees
camphor tree    trees
    
sea urchins     animals
box jelyfish    animals
insect          animals
dinosaur        animals
triceratops     animals
apatosaurus     animals

추천을 사용하려고 합니다.여기하지만 성공하지 못했습니다 :|

Perl 스크립트를 사용하여 이를 수행할 수 있는 방법이 있습니까? 아니면 Linux의 터미널 명령에서 실행할 수 있는 다른 방법을 제안해 주실 수 있습니까?

답변1

<TAB>별도의 파일 이라고 가정하고 .csv시도해보십시오.

awk -F"\t" '$1 {CAT = $1} $2 {print $2, CAT}' OFS="\t" file
Item    Category
red     colours
blue    colours
pink    colours
yellow  colours
brown   colours
gray    colours
white   colours
violet  colours
coconut trees
weeking wilow   trees
ginkgo  trees
dragon tree     trees
camphor tree    trees
sea urchins     animals
box jelyfish    animals
insect  animals
dinosaur        animals
triceratops     animals
apatosaurus     animals

첫 번째 필드 $1가 비어 있지 않으면 카테고리를 저장하세요. 두 번째 필드가 $2비어 있지 않으면 해당 필드와 저장된 카테고리를 인쇄합니다.

관련 정보