Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python csv 문자열을 배열로 변환하는 방법은 무엇입니까?

<시간/>

가장 쉬운 방법은 str.split 메서드를 사용하여 ','가 발생할 때마다 분할하고 모든 문자열을 strip 메서드에 매핑하여 선행/후행 공백을 제거하는 것입니다. 예를 들어,

>>> s = "1, John Doe, Boston, USA"
>>> print map(str.strip, s.split(','))
['1', 'John Doe', 'Boston', 'USA']

여러 줄의 csv가 있는 여러 줄 문자열이 있는 경우 \n에서 분할한 다음 각 줄을 분할하고 제거할 수 있습니다. 예를 들어,

>>> s = "1, John Doe, Boston, USA\n2, Jane Doe, Chicago, USA"
>>> print [map(str.strip, s_inner.split(',')) for s_inner in s.splitlines()]
[['1', 'John Doe', 'Boston', 'USA'], ['2', 'Jane Doe', 'Chicago', 'USA']]

Python의 csv 모듈에는 동일한 결과를 얻기 위한 리더인 도우미 기능도 있습니다. 예를 들어,

>>> s = "1, John Doe, Boston, USA\n2, Jane Doe, Chicago, USA".splitlines()
>>> import csv
>>> x = csv.reader(s)
>>> list(x)
[['1', ' John Doe', ' Boston', ' USA'], ['2', ' Jane Doe', ' Chicago', ' USA']]