2017-03-05 1 views
0

내 데이터 프레임을 Excel로 출력하는 데 성공했지만, 제거하고 싶은 불필요한 대괄호와 아포스트로피가 있습니다. 엑셀하는출력 할 때 대괄호와 아포스트로피의 데이터 프레임 목록을 제거하려고 시도합니다.

data1 = [x.split(',') for x in self.ismyFirstrange1] 
    data2 = [y.split(',') for y in self.isFirst1] 
    dataf1 = pd.DataFrame({'range 2456500 - 2556499': data1}) 
    dataf2 = pd.DataFrame({'range 2456500 - 2556499': data2}) 
    frames = [dataf1, dataf2] 


    result = pd.concat(frames, keys=['firstRange', 'secondRange'], axis=1, join='inner') 
    pprint(result) 

    df = pd.DataFrame(result) 
    writer = pd.ExcelWriter('outputbarcode.xlsx') 
    df.to_excel(writer, 'Sheet1') 

    writer.save() 

출력은 다음과 같습니다

 A 
1 ['2506588'] 
2 ['2540181'] 
3 ['2553486'] 
4 ['2540181'] 
5 ['2540389'] 
6 ['2553384'] 

내가 그것을

내가, 내가 str에 필요 실현
 A 
1 2506588 
2 2540181 
3 2553486 
4 2540181 
5 2540389 
6 2553384 

, 어딘가 교체를 원하지만 그것이 얼마나 확실하지 끝난.

답변

0

사전 처리에 첫 번째 열을 시도 도와주세요 :

df.iloc[:, 0] = df.iloc[:, 0].str[0].astype(int) 
+0

나는 str에 것으로 밝혀 기대 문자열로 변환됩니다. – johnobc

+0

@ JohnOlegario 데이터를 조기에 문자열로 변환하지 마십시오. 필요한 경우 데이터를 변환 할 필요가있는 정보가 느슨합니다. –

+0

그들은 변환되어 있으므로 데이터를 분할 할 수 있습니다. 그것은 필요하며, 내가 성취해야 할 필요가있는 것의 성공입니다. 단지 대괄호가 출력 될 때 – johnobc

0

값이 목록 경우 :

df['column name'] = df['column name'].str[0].astype(int) 

그리고 만약 문자열 :

df['column name'] = df['column name'].str.strip('[]').astype(int) 

당신하여 확인할 수 있습니다 :

print (type(df['column name'].iloc[0])) 

또한 당신은 생략 할 수 있습니다 : 너무 DataFrame입니다

df = pd.DataFrame(result) 

result 때문이다.

그래서 :

result = pd.concat(frames, keys=['firstRange', 'secondRange'], axis=1, join='inner') 
#if need reset index to default 
result = result.reset_index(drop=True) 
pprint(result) 

writer = pd.ExcelWriter('outputbarcode.xlsx') 
result.to_excel(writer, 'Sheet1') 
+0

데이터 프레임 객체에 col 속성이 없습니다. – johnobc

+0

col은 열 이름입니다. – jezrael

+0

'pprint (result.columns.tolist())'를 반환하는 이유는 무엇입니까? – jezrael

관련 문제