python按条件删除行_python - 根据python中的多个条件从访问表中删除行以及日期字段 - 堆栈内存溢出...

我试图基于两列之一(即released_by和released_date)从访问数据库表中删除行。

Sudo code

WHERE released_by = '27' and released_date would change based on the day of the month.

如果day == 1,则为Released_Date,然后删除上个月的数据,否则删除当前的月份数据。

import pandas as pd

import numpy as np

import datetime

from datetime import date

from datetime import datetime, timedelta

from dateutil.relativedelta import relativedelta

import pyodbc

import calendar

import xlrd

import defusedxml

from defusedxml.common import EntitiesForbidden

from xlrd import open_workbook

defusedxml.defuse_stdlib()

# connecting to access database

conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\Users\Desktop\Insights.accdb;')

insights_dbcurs = conn.cursor()

select_auto_releases = "SELECT * FROM RELEASES WHERE RELEASED_BY = '27'"

autoreleases = insights_dbcurs.execute(select_auto_releases).fetchall()

#display(autoreleases)

for row in autoreleases:

previousmonth = datetime.now() - relativedelta(months=1)

previousmonth = previousmonth.strftime("%m - %Y")

currentmonth = datetime.now()

currentmonth = currentmonth.strftime("%m - %Y")

if ((row.autoreleases['RELEASED_DATE']).strftime) ==1:

try:

delete = 'DELETE * FROM RELEASES WHERE RELEASED_DATE = ? and RELEASED_BY = ?'

insights_dbcurs.execute(delete,{'RELEASED_DATE':currentmonth},{'RELEASED_BY':'27'})

except:

delete = 'DELETE * FROM RELEASES WHERE RELEASED_DATE = ? and RELEASED_BY = ?'

insights_dbcurs.execute(delete,{'RELEASED_DATE':previousmonth},{'RELEASED_BY':'27'})

insights_dbcurs.close()

conn.commit()

conn.close()

这是行不通的。 我得到:

AttributeError:'pyodbc.Row'对象没有属性'autoreleases'

如果我删除Row.autorelease ,我得到

sql具有0个属性,其中2个正在传递。

我如何避免这种情况。 任何建议都会很有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值