2016-12-09 2 views
1

데이터 세트에 헤더가 없으므로 열 이름이 없습니다. 데이터 세트는 첫 번째 줄의 정보로 시작합니다. 열 이름을 추가하고 싶습니다.팬더의 for 루프에있는 DataFrame에 열 이름 추가

편집 데이터 집합 추가 :

30/10/2016 17:18:51 [13] 10-Full: L 1490; A 31; F 31; S 31; DL 0; SL 0; DT 5678 
30/10/2016 17:18:51 [13] 00-Always: Returning 31 matches 
30/10/2016 17:18:51 [13] 30-Normal: Query complete 
30/10/2016 17:18:51 [13] 30-Normal: Request completed in 120 ms. 
30/10/2016 17:19:12 [15] 00-Always: Request from 120.0.0.1 
30/10/2016 17:19:12 [15] 00-Always: action=Query&Text=(("XXXXXX":*/DOCUMENT/DRECONTENT/ObjectInfo/type+OR+"XXXXXX":*/DOCUMENT/..... 
30/10/2016 17:19:12 [15] 10-Full: L 2; A 1; F 1; S 0; DL 0; SL 0; DT 5373 
30/10/2016 17:19:12 [15] 00-Always: Returning 0 matches 
30/10/2016 17:19:12 [15] 30-Normal: Query complete 
30/10/2016 17:19:12 [15] 30-Normal: Request completed in 93 ms. 
30/10/2016 17:19:20 [17] 00-Always: Request from 120.0.0.1 
30/10/2016 17:19:20 [17] 00-Always: action=Query&Text=((PDF:*/DOCUMENT/DRECONTENT/XXXXX/type+AND+XXXXXX....... 
30/10/2016 17:19:51 [19] 10-Full: L 255; A 0; F 0; S 0; DL 0; SL 0; DT 5021 
30/10/2016 17:19:51 [19] 00-Always: Returning 0 matches 
30/10/2016 17:19:51 [19] 30-Normal: Query complete 
30/10/2016 17:19:51 [19] 30-Normal: Request completed in 29 ms. 
30/10/2016 17:20:44 [27] 00-Always: Request from 120.0.0.1 
30/10/2016 17:20:44 [27] 00-Always: action=Query&Tex(Image:*/DOCUMENT/DRECONTENT/ObjectInfo/type+AND+(
30/10/2016 17:20:44 [27] 10-Full: L 13; A 0; F 0; S 0; DL 0; SL 0; DT 5235 
30/10/2016 17:20:44 [27] 00-Always: Returning 0 matches 
30/10/2016 17:20:44 [27] 30-Normal: Query complete 
30/10/2016 17:20:44 [27] 30-Normal: Request completed in 27 ms. 
30/10/2016 17:21:09 [25] 00-Always: Request from 120.0.0.1 
30/10/2016 17:21:09 [25] 00-Always: action=Query&Text=XXXXXX:*/DOCUMENT/DRECONTENT/ObjectIn 

내 코드 :

30/10/2016;17:19:12;Request completed in 93 ms.;Request from 120.0.0.1;action=Query&Text=((PDF:*/DOCUMENT/DRECONTENT/XXXXX.... 
30/10/2016;17:18:51;Request completed in 120 ms.;Request from 120.0.0.1;action=Query&Text=(("EOM.CompoundStory":*/DOCUMENT/DRECONTE.... 
30/10/2016;17:19:51;Request completed in 29 ms.;Request from 120.0.0.1;action=Query&Text=(Image:*/DOCUMENT/DRECONTENT/ObjectInfo/type+AND+((..... 
30/10/2016;17:20:44;Request completed in 27 ms.;Request from 120.0.0.1;action=Query&Text=XXXXX:*/DOCUMENT/DRECONT.... 

가 지금은 첫 번째 행에 추가 할 : "내 코드"에서

for df in pd.read_csv('data.csv', sep='\s', header=None, chunksize=6): 
df.reset_index(drop=True, inplace=True) 
df.fillna('', inplace=True) 
d = pd.DataFrame([df.loc[3,0], df.loc[3,1], ' '.join(df.loc[3,4:8]), ' '.join(df.loc[4,4:6]), ' '.join(df.loc[5,4:])]) 
d.T.to_csv('out.log', index=False, header=False, mode='a', sep=';') 

출력 1, 2, 3, 4와 같은 헤더, 5

,210

내 방식 :

d.T.to_csv('out2.csv', index=False, header=['1', '2', '3', '4', '5'], mode='a', sep=';') 

내 출력 :

1;2;3;4;5 
07.11.2016;13:40:45;Request completed in 44 ms.;Request from 1.1.106 action=Query&Text= 
1;2;3;4;5 
07.11.2016;13:41:00;Request;completed in 37 ms.;Request from 1.1.106 ;action=Query&Text= 
1;2;3;4;5 
07.11.2016;13:41:00;Request;completed in 32 ms.;Request from 1.1.106 ;action=Query&Text= 

내 제외 출력 :

1;2;3;4;5 
07.11.2016;13:40:45;Request completed in 44 ms.;Request from 1.1.106 action=Query&Text= 
07.11.2016;13:41:00;Request;completed in 37 ms.;Request from 1.1.106 ;action=Query&Text= 
07.11.2016;13:41:00;Request;completed in 32 ms.;Request from 1.1.106 ;action=Query&Text= 
+0

파일'data.csv'의 샘플을 게시 할 수 있습니까? – Chuck

+0

데이터 프레임 'd'의 모양은 무엇입니까? – Chuck

+1

데이터 세트가 추가되었습니다. –

답변

2

당신은 out.log 쓰기, 헤더 빈 df을 만들려고하고 데이터를 추가 할 수 있습니다 아니요 header :

cols = ['1', '2', '3', '4', '5'] 
pd.DataFrame(columns=cols).to_csv('out.log', index=False, sep=';') 

for df in pd.read_csv('data.csv', sep='\s+', header=None, chunksize=6): 
    df.reset_index(drop=True, inplace=True) 
    df.fillna('', inplace=True) 
    d = pd.DataFrame([df.loc[3,0], 
         df.loc[3,1], 
         ' '.join(df.loc[3,4:8]), 
         ' '.join(df.loc[4,4:6]), 
         ' '.join(df.loc[5,4:])]) 
    d.T.to_csv('out.log', index=False, header=False, mode='a', sep=';') 
+1

이 이제 : 0.0; 0.0; 0.0; 0.0; 0.0 그리고 나서 데이터 –

+1

이 유감스럽게도 이제 작동합니다. 빈 데이터 프레임이 필요합니다. – jezrael

+1

첫 번째 버전에서는 이러한 0.0 오류가 발생했습니다. 파일 "pandas \ parser.pyx", 846 줄, pandas.parser.TextReader.read (pandas \ parser.c : 10364) 파일 "pandas \ parser.pyx", 880 줄, pandas.parser.TextReader._read_low_memory (pandas \ parser.c : 10845) pandas.parser.TextReader._tokenize_rows (pandas \ parser.c : 11257) pandas.io.common.CParserError : 데이터를 토큰으로 처리하는 중 오류가 발생했습니다. C 오류 : 라인 759에서 7 개의 필드가 예상 됨 18 –

관련 문제