2017-09-09 7 views
0

私はPythonには新しく、csvとdatetimeを解析しようとしています。datetimeカラムを特定のフォーマットに解析してCSVに保存

私は、次の形式でCSVを持っている -

Column-1  Column-2 
Name1   03/09/2012 11:26:08 
Name2   04/10/2011 11:26:08 
Name3   13/11/2010 11:26:08 
...   ... 

私はこのcsvファイルを解析したい - > COLUMN2を読む - バック同じ列の>店舗と

行 - >月だけ年を抽出

私はcsvを解析し、データを読み込み、月を抽出することができますが、同じ行をどのように識別して戻して保存するかはわかりません。

基本的に出力が同じCSVがに変更されていることをする必要があります - あなたは、あなたのCSVを読み込むときparse_datesパラメータを追加し、.dt.strftimeを使用して、ご希望の形式に変換

Column-1  Column-2 
Name1   09/2012 
Name2   10/2011 
Name3   11/2010 
...   ... 
+0

月を抽出するコードを表示できます –

+0

あなたはその場所でファイルを変更することはできません。変更したデータを新しいファイルに書き込みます(必要に応じて元のファイルにコピーします)。 – glibdud

+0

パンダはありますか? –

答えて

1

df = pd.read_csv(...., sep='\s{2,}', engine='python', 
          parse_dates=['Column-2'], dayfirst=True) 
df['Column-2'] = df['Column-2'].dt.strftime('%m/%Y') 
df 

    Column-1 Column-2 
0 Name1 09/2012 
1 Name2 10/2011 
2 Name3 11/2010 

df.to_csv(..., sep='\t') 

あなたの日付がフォーマットDD/MM/YYYYを持っているので、追加のdayfirst=Trueパラメータを渡さなければならない、ということに注意してください。

+0

私は気が気になりません。その「セップ」とは何ですか? – roganjosh

+0

@roganjosh列の区切り文字。正規表現として指定します。 'delim_whitespace = True'は、日付列を間違って分割する可能性があるため、実行したくありません。 –

+0

私はそれがセパレーターのためだと理解していますが、私はそれが何をするのか理解できませんでした。だから、2つ以上の連続した空白のブロックを分けるだけのことですか? – roganjosh

関連する問題