Python에서 .csv 데이터를 분할하는 방법은 무엇입니까?

이 방법을 사용하여 csv 파일을 분할하는 경우:

with open(fname) as f:    
for line in f:
    a = line.strip().split()

내가 얻을 것으로 예상되는 결과는 다음과 같습니다.

^{pr2}$

등. . . 존재하다

이 데이터를 올바른 구성요소(팀, 선수, 연봉, 포지션)로 어떻게 분리합니까? 존재하다

데이터 세트(xls)는 다음과 같습니다.

American League Baseball Salaries (2003)            

Team                 Player          Salary     Position

New York Yankees    Acevedo, Juan   9,00,000    Pitcher
New York Yankees    Anderson, Jason 3,00,000    Pitcher
New York Yankees    Clemens, Roger  1,01,00,000 Pitcher
New York Yankees    Contreras, Jose 55,00,000   Pitcher

함수를 사용하여 zip파일의 열을 가져오거나 모듈을 사용하여 파일을 csv읽을 수 있습니다.csv

import csv

with open('file_.csv','rb') as f :
    csvreader=csv.reader(f,delimiter=' ')
    print zip(*csvreader)

대용량 파일의 경우 다음을 사용하십시오 itertools.izip.

^{pr2}$

생성기를 반환할 때 izip루프 오버하려는 경우에는 필요하지 않습니다 list(내용을 인쇄하는 데 사용됨).

또한 예를 들어 제가 사용한 올바른 구분 기호를 사용해야 합니다 space. 이를 변경하고 올바른 구분 기호를 사용할 수 있습니다! 존재하다

결과를 사전에 넣을 수도 있습니다.

^{3}$

결과:

{'Salary': ('9,00,000', '3,00,000', '1,01,00,000', '55,00,000'), 'Player': ('Acevedo, Juan', 'Anderson, Jason', 'Clemens, Roger', 'Contreras, Jose'), 'Position': ('Pitcher', 'Pitcher', 'Pitcher', 'Pitcher'), 'Team': ('New York Yankees', 'New York Yankees', 'New York Yankees', 'New York Yankees')}
('9,00,000', '3,00,000', '1,01,00,000', '55,00,000')

csv를 다음 형식으로 설정하십시오.

Team,Player,Salary,Position
"New York Yankees","Acevedo, Juan","9,00,000","Pitcher"
"New York Yankees","Anderson, Jason","3,00,000","Pitcher"
"New York Yankees","Clemens, Roger","1,01,00,000","Pitcher"
"New York Yankees","Contreras, Jose","55,00,000","Pitcher"

그런 다음 아래 Python 코드를 사용하여 추가 처리에 적합한 사전 목록의 값을 가져옵니다.

^{pr2}$ 

분할은 공백을 기본 구분 기호로 사용합니다. 다른 문자열을 사용하려면 분할할 매개변수로 전달하세요. 이 경우 COMA로 분할하려면 다음을 수행합니다.

with open(fname) as f:    
for line in f:
    a = line.strip().split(',')

 

 

Supongo que te gusta

Origin blog.csdn.net/xifenglie123321/article/details/132186699
Recomendado
Clasificación