Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果我想查询“date-1”,如何使用Python2.7从MYSQLdb查询数据?_Python_Mysql_Sql_Debian_Mysql Python - Fatal编程技术网

如果我想查询“date-1”,如何使用Python2.7从MYSQLdb查询数据?

如果我想查询“date-1”,如何使用Python2.7从MYSQLdb查询数据?,python,mysql,sql,debian,mysql-python,Python,Mysql,Sql,Debian,Mysql Python,所以,我每天都需要从MYSQLdb查询数据,这就是为什么我更喜欢使用一个查询,我可以查询实际的date-1数据。例如,如果我今天在11月13日运行我的脚本,我需要从11月12日到实际日期的所有信息-在图片上 我在MYSQLdb中有一列,如下所示: connection = MySQLdb.connect(host='localhost', user='user1', passwd='', db='database1', use_un

所以,我每天都需要从MYSQLdb查询数据,这就是为什么我更喜欢使用一个查询,我可以查询实际的date-1数据。例如,如果我今天在11月13日运行我的脚本,我需要从11月12日到实际日期的所有信息-在图片上

我在MYSQLdb中有一列,如下所示:

connection = MySQLdb.connect(host='localhost',
        user='user1',
        passwd='',
        db='database1',
        use_unicode=True,
        charset="utf8")
cursor = connection.cursor()
query = """ select #I NEED SOMETHING HERE.. 
    from OSSZES
    into outfile '/tmp/test.csv'
    fields terminated by ';'
    enclosed by '"'
    lines terminated by '\n';
    """
cursor.execute(query)
connection.commit()
cursor.close()
这是一个查询,这是一个用日期1逻辑查询数据的机会吗?因此,我必须分析实际日期列中的最后6个字符,因为最后2个显示日期,最后4个显示月份年份并不重要

MYSQLdb每天都会刷新,这就是为什么我需要找到一种方法,从这个表中查询真正的日期-1天

我知道代码必须如下所示:

connection = MySQLdb.connect(host='localhost',
        user='user1',
        passwd='',
        db='database1',
        use_unicode=True,
        charset="utf8")
cursor = connection.cursor()
query = """ select #I NEED SOMETHING HERE.. 
    from OSSZES
    into outfile '/tmp/test.csv'
    fields terminated by ';'
    enclosed by '"'
    lines terminated by '\n';
    """
cursor.execute(query)
connection.commit()
cursor.close()

但是,如果mysqldb中存在这个select查询,我如何编写它呢?

您可以使用函数STR_TO_DATE将VARCHAR格式格式化为DATETIME格式

质疑

结果


也许您可以结合使用“pandas”和“datetime”模块:

import datetime as dt
import pandas as pd

df = pd.read_sql_table('OSSZES',connection)
df['ACTUAL_DATE'] = pd.to_datetime(df['ACTUAL_DATE'])
mask = df['ACTUAL_DATE'] < dt.date.today()
df_new = df.loc[mask]
df_new.to_csv('/tmp/test.csv')

如果您使用DATE或DATETIME数据类型,而不是使用看起来像VARCHAR数据类型的数据类型。您可以使用SELECT*FROM[table],其中[column]=NOW-间隔1天是的,但如果我现在使用它,它将返回当前日期和时间..我如何与我的实际日期进行比较?我发布了一个答案。这3个SELECT查询是一个查询吗?或者它在python代码中看起来如何,您能用我的代码更新您的代码吗?替换测试数据用您的表名替换此数据选择“11月12日,星期日”作为联合所有选择“11月11日,星期六”作为记录用您的表名替换。。我无法帮助您编写python代码,因为我无法编写python代码。这对我来说不是一个好的解决方案,因为我只能分析一天,但我希望这样做而不会每天覆盖我的代码,这就是为什么我尝试将“现在”列与“实际日期”列进行比较的原因
import datetime as dt
import pandas as pd

df = pd.read_sql_table('OSSZES',connection)
df['ACTUAL_DATE'] = pd.to_datetime(df['ACTUAL_DATE'])
mask = df['ACTUAL_DATE'] < dt.date.today()
df_new = df.loc[mask]
df_new.to_csv('/tmp/test.csv')