

Pythonに触れて3日目の初心者です...  
以下のような、一分ごとに記録されたcsv時系列データがあります。

1列目:日付(mm/dd/yy)  
2列目:時間(hh:mm:ss)  
3〜12列目(各データ)

12/27/18 08:32:14 960.65 0 33.1 0.1376 1.94 75.8 307.5 2.77 11.08 0.1368  
12/27/18 08:33:14 960.55 0 35.6 0.1368 1.94 75.8 15.4 0.25 1.51 0.1376  
12/27/18 08:34:14 960.65 0 36.9 0.1368 1.913 75.5 355.2 1.51 4.53 0.1376  
・  
・  
・  
01/21/19 08:55:14 958.95 0 -888.9 0.0214 0.301 57.3 308.9 2.52 6.3 0.0228  
01/21/19 08:56:14 959.15 0 -888.9 0.0214 0.163 57.7 205 2.01 5.54 0.0228  
01/21/19 08:57:14 959.15 0 -888.9 0.0214 0.163 57.7 282.2 2.01 4.78 0.0228

データの期間は12/27〜1/21なのですが、これを日ごとにデータを抽出してcsvに出力するプログラムを組みたいです。  
例として、下の画像は月ごとですが、このような形で日ごとに出力されるのが理想です。

![1](https://i.stack.imgur.com/CXjLQ.jpg)  
pandasを使用しプログラムを組んでみたのですが、どうもうまく動きません。  
稚拙な説明で申し訳ありませんが、お分かりになる方にご教授いただけると幸いです...  
よろしくお願いいたします。


CC BY-SA 4.0
2019-04-13T15:11:31.803
54145
2019-04-21T08:03:55.067
32907
question
python
特定の行を抽出し、出力する方法を知りたいです。


次の条件を補完して、以下のようになるでしょう。

  * 入力ファイル名は仮に 'data.csv'
  * 入力側/出力側の両方のデータにヘッダ行は無し
  * データの区切りはタブコード

異常なデータやエラーへの対処は省いています。

[code]

    import pandas as pd
    import datetime
    
    infilename = 'data.csv'
    df = pd.read_csv(infilename, header=None, sep='\t', names=list('ABCDEFGHIJKL'))
    date_list = list(df['A'].unique())
    for date_str in date_list:
        outfilename = datetime.datetime.strptime(date_str, '%m/%d/%y').strftime('%Y-%m-%d') + '.csv'
        ds = df[df['A'].isin([date_str])]
        ds.to_csv(outfilename, header=False, index=False, sep='\t')
    
[/code]

* * *

マルチポスト先の回答の方が簡潔ですね。ただ出力ファイル名は当方のが良さそうです。  
パクッて組み合わせると以下になるでしょう。

[code]

    import pandas as pd
    import datetime
    
    infilename = 'data.csv'
    df = pd.read_csv(infilename, header=None, sep='\t')
    for date_str, daily_data in df.groupby(0):
        outfilename = datetime.datetime.strptime(date_str, '%m/%d/%y').strftime('%Y-%m-%d') + '.csv'
        daily_data.to_csv(outfilename, header=False, index=False, sep='\t')
    
[/code]

他にこの辺の記事が、csv の読み書き時の使い方を詳しく解説しているでしょう。  
[詳説Pandasのread_csvとread_table関数の使い方](https://deepage.net/features/pandas-
readcsv-deep.html)  
[Pandasのto_csv関数を使ってCSVファイルに書き出す方法](https://deepage.net/features/pandas-tocsv-
light.html)

同サイトで groupby の使い方記事です。  
[Pandasのgroupbyを使った要素をグループ化して処理をする方法](https://deepage.net/features/pandas-
groupby.html)


CC BY-SA 4.0
2019-04-14T00:50:16.553
54150
2019-04-21T08:03:55.067
2019-04-21T08:03:55.067
26370
26370
54145
answer