2016-07-20 2 views
1

나는 다음과 같은 형식의 일부 CSV 파일을했습니다 :구문 분석 날짜와 시간을 형성 csv 파일

330913;23;2;2013;0;0;6;8;7 
330914;23;2;2013;0;5;25;8;7 
330915;23;2;2013;0;10;11;8;7 
330916;23;2;2013;0;15;30;8;7 
330917;23;2;2013;0;20;17;8;7 
330918;23;2;2013;0;25;4;8;7 

나는 팬더 DataFrame로 읽고 열 (말)을 지정해야 'dt' 날짜와와 시각. 지금까지 시도한 내용은 다음과 같습니다.

df = pd.read_csv('./cucu.csv', sep=';', \ 
    header=None, dtype='str') 
df[ 'dt' ] = pd.to_datetime(\ 
    df[3]+df[2]+df[1]+df[4]+df[5]+df[6], \ 
    format='%Y%m%d%H%M%S') 

제 질문은 문자열을 처리하지 않고 어떻게합니까? 나는 같은 것을 사용하여 과거에 이런 짓을 한 확신 :

df = pd.read_csv('./cucu.csv', sep=';', header=None, \ 
    parse_dates={'dt': [3,2,1,4,5,6]}) 

을하지만 지금은 작동하지 않습니다 : 내가 놓친 게 무엇 2013 2 23 0 0 6

같은 문자열 열 dt를 얻을?

답변

2

read_csv 방법을 확인하십시오. 특히 date_parser kwarg는 사용자가 찾고있는 것입니다. parse_date 열로 생성 된 결과 문자열을 처리합니다.

df = pd.read_csv('./cucu.csv', sep=';', header=None, parse_dates={'dt': [3,2,1,4,5,6]}, date_parser=lambda dts: pd.to_datetime(dts, format='%Y %m %d %H %M %S')) 
+0

그래, 고마워! 질문 : [[[3,2,1,4,5,6]]에 이중 괄호를 넣을만한 이유가 있습니까? 싱글과 함께 작동하는 것 같습니다 ... – Luis

+0

흠 싱글리스트는이 코드에서 저를 위해 오류를 던졌습니다. – Alex

+0

@Luis 문서의 "int 또는 name 목록"에 따라 예 : [1, 2, 3] -> 열 1, 2, 3을 각각 별도의 날짜 열로 분석 해보십시오. " 예 : [1, 3] -> 열 1과 3을 결합하고 단일 날짜 열로 구문 분석 할 경우 – Alex