2015-01-21 3 views
1

일치하는 CSV 헤더를 수정하지만, 하나 개의 컬럼에 사용 된 여분의 쉼표가 내가 쉼표로 분리 한내가 파이썬에서 팬더 dataframe에 csv 파일을 읽으려고 값

범위를 가지고 있기 때문에 csv에 13 개의 데이터 열이 있지만 열 중 하나는 값의 범위이며 여분의 쉼표가 사용됩니다. 헤더는 외모와 같은 :

"A","B","C","D","E","F","G","H","I","J","K","L","M" 

하지만 데이터의 각 행의 값이 같을 :

"A",B,B,"C","D","E","F","G","H",I,"J",K,L,M 

내가 파이썬에서 판다의 dataframe에이 글을 읽을려고하지만, 불일치와 것 튜플을 두 개의 열로 취급하십시오. CSV를 변경하여 구문 분석이 더 쉽습니다. 어떻게해야합니까?

+0

당신은 B가 0,10와 같은 범위에 값이 의미? –

+0

예 - 죄송합니다. 문자가 변수를 나타내며 데이터가 "11111", 2222, 2222, "333"...과 같이 표시되어야한다고 지정 했어야합니다. 일부 열은 따옴표가 있지만 일부는 그렇지 않으므로 두 번째 변수에는 범위이기 때문에 쉼표가 추가됩니다. – synonynome

답변

0

당신은 같은 작업을 수행 할 수 있습니다

def fixed_lines(filename): 
    with open(filename) as f: 
     reader = csv.reader(f) 
     next(reader)  # skip header(optional) 
     for row in reader: 
      yield row[:1] + [row[1] + ',' + row[2]] + row[3:] 

pd.DataFrame(fixed_lines('filename.csv')) 
관련 문제