繁体   English   中英

如何将 a.txt 中最近 1 年和 6 个月的数据提取到两个由 '\t' 分隔的单独的.txt 文件中?

[英]How to extract last 1year and 6months data from a .txt into two separate .txt files delimited by '\t'?

我有一个data.txt文件,它有 3 列由制表符 ( '\t' ) 分隔。第一列有日期。

我想在不更改原始格式的情况下将此文件中的数据提取到两个单独的.txt文件中,这样第一个文件( first.txt )包含 2020 年的数据,第二个文件( 2nd.txt )包含最后 6 个2020 年的月(6 月至 12 月)数据。

有人可以帮忙提供一些提示吗?

图片

我的尝试:

first=pd.read_csv('data.txt', parse_dates=True)['2020':]

你可以试试:

df = pd.read_csv('data.txt', sep='\t', parse_dates=True) #load

df.date = pd.to_datetime(df.date, infer_datetime_format=True) #convert to date if needed

first = df[df['date'].dt.year == 2020] #subset; note you might use other criteria here
second = df[df['date'].dt.year < 2020]

编辑

根据您的评论,这里是模拟数据,以便您可以测试代码:

df = pd.DataFrame({
        'date': ['05-10-2020', '06-07-2020', '06-12-2019'],
    'test' : ['one', 'two', 'three'],
    'thingy': ['re', 'rho', 'rha']
})
df

请注意,您的原始数据仍在df中。

您还可以将日期定义为索引,然后是子集:

df.set_index('date', inplace=True) #set index

子集并保存:

first = df.loc['2020-01-01':'2020-06-30'] #specify date range
second = df.loc['2020-07-01':'2020-12-31']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM