簡體   English   中英

Python:從CSV文件提取每日/每小時余額

[英]Python: extract daily/hourly balance from a CSV file

我有一個長文件,尤其是這兩列:

   Balance     Time
   1000.01     2015-08-23 19:53:23
   1235.21     2015-08-23 17:32:42
    394.33     2015-08-22 23:32:12
    534.45     2015-08-22 13:44:12
    235.21     2015-08-22 13:22:51

如何將所有行的一天的最后一天余額(最后是小時HH:59:59)寫入列表/向量? 也許使用SQLite?

更新

我發現一個解決方案,一旦從csv文件中提取了一個帶有日期和平衡bal的數組,但是我想知道是否有一種不太丑陋的方法。 也許使用熊貓。

    import datetime as dt
    delta=dt.timedelta(hours=1)            
    new_date=dt.datetime.strptime(start_date, "%Y-%m-%d %H:%M:%S")+delta
    for i in range(len(bal)):
        if dt.datetime.strptime(dates[i], "%Y-%m-%d %H:%M:%S")>new_date:
            hours_diff=int((dt.datetime.strptime(dates[i], "%Y-%m-%d %H:%M:%S")-new_date).total_seconds()/3600)
            while dt.datetime.strptime(dates[i], "%Y-%m-%d %H:%M:%S")>new_date:
                hourly_time.append(dt.datetime.strftime(new_date,"%Y-%m-%d %H:%M:%S"))
                new_date+=delta
                hourly_bal.append(hourly_bal[-1])
            hourly_bal[-1]=bal[i-1]
    hourly_time.append(dt.datetime.strftime(new_date,"%Y-%m-%d %H:%M:%S"))
    hourly_bal.append(bal[-1])

使用pandas -非常適合處理時間序列數據。

假設您想要的輸出是這樣的?

   Balance     Time                   LastBalance
   1000.01     2015-08-23 19:53:23    235.21
   1235.21     2015-08-23 17:32:42    235.21
    235.21     2015-08-22 17:32:42    -

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM