3

我有一个这样的访问表(日期格式是 mm/dd/yyyy)

col_1_id-----col_2

2003 年 1 月 1 日

2

3 2009 年 1 月 5 日

4

5 2008 年 3 月 2 日

输出应为 Co_1 介于 2 到 4 之间的表格(空白单元格必须为空白)

2

3 2009 年 1 月 5 日

4

我尝试使用 sql 查询。输出在空白单元格中打印“无”。我需要空白单元格中的空白。另一件事是当我试图在另一个表中插入这个值时,它只插入具有日期值的行。代码在获得任何没有日期的行时停止。我需要按原样插入行。

我在 python 中尝试过

import pyodbc
DBfile = Data.mdb
conn = pyodbc.connect ('Driver = {Microsoft Access Driver (*.mdb)}; DBQ =' +DBfile
cursor = conn.cursor()

sql_table = "CREATE TABLE Table_new (Col_1 integer, Col_2 Date)"
cursor.execute.sql_table()
conn.commit()

i = 0
while i => 2 and i <= 4:
    sql = "INSERT INTO New_Table (Col_1, Col_2)VALUES ('%s', '%s')" % (A[i][0], A[i][1])
    cursor.execute(sql)
    conn.commit()
i = i + 1
cursor.close
conn.close

`

4

2 回答 2

3

与其使用A[i][x]which 为您指定值,不如简单地添加一个OR逻辑来消除None.

对于您希望保留为“空白”的任何单元格(假设您的意思是空字符串),比方说A[i][1],只要

A[i][1] or ""

""如果单元格给你,这将产生空字符串None

于 2013-07-04T18:19:24.673 回答
0

的字符串表示None实际上是'None',而不是空字符串。尝试:

"... ('%s', '%s')" % (A[i][0], A[i][1] if A[i][1] else '')
于 2013-07-04T18:19:42.740 回答