python删除csv文件某一行_从python中的CSV文件中删除特定行

本文介绍如何使用Python删除CSV文件中符合特定日期范围的行。通过创建日期范围列表,转换为datetime对象,并定义datefilter函数进行判断,配合使用startswith方法检查ID,实现行的过滤和删除。
摘要由CSDN通过智能技术生成

下面是我将如何处理这个问题,但这可能不是最好的方法。在from datetime import datetime

dateranges = [("01-01-1951","12-31-1951"),("07-01-1962","12-31-1962")]

dateranges = list(map(lambda dr: tuple(map(lambda x: datetime.strptime(x,"%m-%d-%Y"),dr)),dateranges))

def datefilter(x):

# The date format is different here to match the format of the csv

x = datetime.strptime(x,"%Y-%m-%d")

for r in dateranges:

if r[0]<=x and r[1]>=x: return True

return False

with open(main_file, "rb") as fp:

root = csv.reader(fp, delimiter='\t')

result = collections.defaultdict(list)

for row in root:

if datefilter(row[3]):

# use a regular expression or any other means to filter on id here

if row[2].startswith("dd:111"): #code to remove item

我所做的是创建一个日期范围元组的列表(为了简洁起见,我只在其中放了2个范围)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值