假设有如下格式的一个csv文件,需要按照date列排序,并将csv表头列重写为:主题、日期、文档列表
可以通过如下示例python脚本实现
import pandas as pd
import time
import os
import sys
dpath="\home\xxx"
rfname=os.path.join(dpath,"records.csv")
tfname=os.path.join(dpath,"sorted.csv")
if not os.path.exists(rfname):
sys.exit(0)
with open(rfname,"r") as rec_file:
#读取csv到DataFrame
df=pd.read_csv(rec_file,encoding="gbk",header=0)
#提取title,date,documents 列
title=df.values[:,0]
date=df.values[:,1]
docs=df.values[:,2]
#按row组合成tuple列表
tmp=list(zip(title,date,docs))
#对列表按照时间列倒排序
st=sorted(tmp,reverse=True,key=lambda x:time.strptime(x[1],"%Y/%m/%d"))
#生成目标DataFrame,并输出到文件
dst=pd.DataFrame(data=st)
dst.to_csv(path_or_buf=tfname,index=False,encoding="gbk",header=["主题","日期","文档列表"])