2014-01-08 2 views
1

가능한 한 간단하게 CSV 파일의 사례 문제를 해결하고 싶습니다. 코드를 단순화하면 이미 팬더를 가져 왔습니다.CSV, Python의 문자열 사례 연산

그래서 난 당신이 ipython 설치해야합니다, 당신은 그런 파이썬 규칙 의 일부를 배울 필요와

Name   City   State 
FOO BAR  los angeles  ca 
guy's naME PHILADELPHIA Pa 

모두의

Name   City   State 
Foo Bar  Los Angeles  CA 
Guy's Name Philadelpha  PA 
+0

그리고 누군가가 테이블에 대해 강조 올바른 구문을 보장하기 위해 내 질문에 무엇을 넣어 말해 원하는가? – Xodarap777

답변

2

이것은 예제 파일과 일치하도록 하드 코딩되었지만 원하는대로해야합니다 :

,
import csv 
import sys 
import string 

reader = csv.reader(sys.stdin, delimiter='\t') 
writer = csv.writer(sys.stdout, delimiter='\t') 

# write the header as-is 
writer.writerow(reader.next()) 

for row in reader: 
    row[0] = string.capwords(row[0]) 
    row[1] = string.capwords(row[1]) 
    row[2] = row[2].upper() 
    writer.writerow(row) 

사용 예제 :

cat test.csv | python fix_case.csv 
Name City State 
Foo Bar Los Angeles CA 
Guy's Name Philadelphia PA 
+0

내가 원하는 것을 완벽하게. 문자열 작업을 dataframes/series에 적용하는 방법을 이해할 필요가 있었지만 문자열만큼이나 간단합니다. 행 [0] - 행 [0] .capwords()는 한 번에 여러 문제를 해결해야합니다. – Xodarap777

+0

나는 귀하의 제안에 따라 사용하는 capine을 사용하여 나의 대답을 편집하여 Guy의 이름에서 's'가 대문자로 된 곳에서 놓친 문제점을 해결했습니다. 감사! –

0

우선합니다 (을 '주의) 대체 할 그것을 파이썬 대신 사용하십시오. 그런 다음 ipython을 실행하고 몇 가지 기본적인 문제를 시도해야합니다. 그런 다음

s1 = pd.core.series.Series(['foo', 'bar']) 
s1 = s1.apply(lambda x: x.upper()) 
s1 

당신이 시리즈 (시) 소문자와 대문자하려는 경우

: DataFrame 개체 (그것을 구글, 또는 배우)는 대문자 시리즈 (주)에 원하는 경우 그런 다음에

읽기 csv 파일

s2 = pd.core.series.Series(['FOO', 'fOo']) 
s2 = s2.apply(lambda x: x.lower().capitalize()) 
s2 

각 단어를 대문자로 쓰려면 그 단어를 google해야합니다.

그런 다음 새롭게 변경된 DataFrame과 함께 CSV 파일을 저장해야합니다.

+0

"Google or learn"은 모든 포럼, 특히 Q & A 스타일 포럼에 적용 할 수있는 일반적인 태도입니다. 그러나 나는 분명히 이유가있다. "투표 다운 125 평판이 필요합니다." – Xodarap777

1

이 무엇을 원하는 마이너스 특수 문자 (녀석의 이름)처럼 모든 자본 상태 및 케이스 수행합니다

with open("output.txt",'w') as O: 
    with open("input.txt") as I: 
     for line in I: 
      O.write(line.title()) 

전 :

Name   City   State 
FOO BAR  los angeles  ca 
guy's naME PHILADELPHIA Pa 

후 :

Name   City   State 
Foo Bar  Los Angeles  Ca 
Guy'S Name Philadelphia Pa