내부 쉼표와 따옴표를 사용하여 쉼표로 구분된 값에서 주어진 열을 추출합니다.

내부 쉼표와 따옴표를 사용하여 쉼표로 구분된 값에서 주어진 열을 추출합니다.

필드가 쉼표로 구분된 파일이 있습니다.

몇 가지 입력 예:

col1,"1,2",col3
col1,"1,2,3",col3
col1,"1  2,3",col3
col1,"1 "2,3"",col3

이제 두 번째 열을 얻어야 다음을 얻을 수 있습니다.

"1,2"
"1,2,3"
"1  2,3"
"1 "2,3""

cut -d, -f2 file내가하고 싶은 일을하지 않습니다.

그렇다면 위 입력에서 열 2를 어떻게 검색합니까?

답변1

오픈오피스가 있는 경우 이를 이용하여 파일을 열 수 있으며, 열 때 "구분자 값"을 쉼표로 설정하면 됩니다. 그런 다음 두 번째 열을 복사할 수 있습니다.

답변2

csvPython에는 이를 자동으로 처리하는 모듈이 있습니다 . 예를 들어, 다음은 원하는 작업을 수행하는 짧은 스크립트입니다 stdin.

import csv
import sys

for columns in csv.reader(sys.stdin, delimiter=","):
    print columns[1]

파일에 저장할 수도 있고, 명령줄에서 호출하는 것도 어렵지 않습니다.

... | python -c "import csv, sys; print [c[1] for c in csv.reader(sys.stdin, delimiter=',')]"

관련 정보