我希望有一個相對簡單的解決我的問題:分割CSV日期
我有一個CSV與選擇的數據點,但它們都包括日期字段。
我希望能夠根據日期字段的月份將csv拆分爲多個文件。
例如:我希望能夠2015年3月之前將所有記錄在一個文件中,所有2015年4月之前在另一個,最多的2016十月等
在這種情況下會出現前許多文件之間的重複記錄。
有沒有辦法做到這一點與一個簡單的Python代碼或有一個更簡單的方法?
預先感謝
我希望有一個相對簡單的解決我的問題:分割CSV日期
我有一個CSV與選擇的數據點,但它們都包括日期字段。
我希望能夠根據日期字段的月份將csv拆分爲多個文件。
例如:我希望能夠2015年3月之前將所有記錄在一個文件中,所有2015年4月之前在另一個,最多的2016十月等
在這種情況下會出現前許多文件之間的重複記錄。
有沒有辦法做到這一點與一個簡單的Python代碼或有一個更簡單的方法?
預先感謝
此代碼假定日期字段是在第一列中,並且標記爲「dates
」。我們使用熊貓將數據讀入數據框,並將['dates']
作爲列轉換爲日期對象。然後,我們使用年份和月份採用不同的數據幀片段來創建子集視圖。然後,每個視圖轉儲到新的CSV格式爲year_month.csv
import pandas as pd
df = pd.read_csv('filename.csv', parse_dates=['dates'])
for year in df.dates.apply(lambda x: x.year).unique():
for month in df.dates.apply(lambda x: x.month).unique():
view = df[df.dates.apply(lambda x: x.month == month and x.year==year)]
if view.size:
view.to_csv('{}_{:0>2}.csv'.format(year, month))
有可能是一個更好的方式來做到這一點,但這會完成這項工作。
請放心,你可以用python來做:) 笑話不談,到目前爲止你做了什麼,你能分享一些數據嗎? – zipa
目前我一直試圖在分隔符手動執行它,問題是我有超過200萬的記錄,這使得它很難分享。這是15年的房屋銷售數據與「支付價格」字段,「銷售日期」,「座標」等。 – Jamie
建議的話 - 永遠不會分享實際數據。另一方面,你必須分享數據的例子,以便任何人能夠幫助你或給你建議。數據格式爲5行,格式與源代碼相同。 – zipa