我有一個很大的CSV文件,我們將使用它來將資產導入我們的資產管理數據庫。這裏是CSV數據的一個小例子。基於日期時間的Python CSV數據分析
Serial number,Movement type,Posting date
2LMXK1,101,1/5/15 9:00
2LMXK1,102,1/5/15 9:30
2LMXK1,201,1/5/15 10:30
2LMXK1,202,1/5/15 13:00
2LMXK1,301,1/5/15 14:00
JEMLP3,101,1/6/15 9:00
JEMLP3,102,1/7/15 10:00
JEMLP3,201,1/7/15 13:30
JEMLP3,202,1/7/15 15:30
JEMLP3,203,1/7/15 17:30
BR83GP,101,1/5/15 9:00
BR83GP,102,1/5/15 13:00
BR83GP,201,1/6/15 9:00
BR83GP,202,1/7/15 15:30
BR83GP,301,1/5/15 13:00
BR83GP,201,1/6/15 9:00
BR83GP,301,1/9/15 15:30
這裏是要求:「什麼是每個序列號的最新運動型」
我需要解析CSV文件,併爲每一個唯一的序列號,以具有運動型最新的「發佈日期」。
作爲示例,對於序列號2LMXK1,最新的發佈日期/時間爲14:00至15/15。
這裏基本上是我需要獲得:
「序列號2LMXK1具有運動型301和最後更新15年1月5日14:00」。
我已經開始解析CSV文件並創建字典的一些代碼。
#Import modules
import csv
import pandas as pd
fields = ['Serial number','Movement type','Posting date']
df = pd.read_csv('import.csv', skipinitialspace=True, usecols=fields)
dc = df.to_dict()
#print (df['Serial number'])
for value in dc.items():
print (value)
此代碼用於解析CSV並創建字典。
但是,我需要日期比較和過濾技術方面的幫助。我怎樣才能創建另一個字典,只列出具有最新發布日期的唯一序列號?創建新的過濾數據字典後,我可以使用它導入我們的資產管理數據庫。這個想法是我將在導入到我們的系統之前使用python來分析和處理數據。
很好的回答!我不認爲這可以用更少的代碼行來完成。值得注意的是,「sort_values」被添加到了熊貓0.17 –
@FrancescTorradeflot這是事實。我想,早期版本的熊貓有一個排序功能,可以做同樣的事情。較新的版本抱怨說有人貶值。 – Jezzamon