我希望有一个相对简单的解决我的问题:分割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