2013-07-04 153 views
3

我有一个这样的访问表(日期格式为毫米/日/年)保持空白单元格空白而不是无由蟒

col_1_id ----- COL_2

1 1/1/2003

3 1/5/2009

5 2008年3月2日

输出应该是一个表,其中Co_1是2至4(空白小区必须为空)

3 1/5/2009

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

我在蟒蛇试图与

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 

`

回答

3

而不是使用A[i][x]这就决定了价值为你的,为什么不能简单地增加一个逻辑来消除None的可能性。

对于要保持为“空白”的任意单元格(假设你的意思是空字符串),让我们说A[i][1],只是做

A[i][1] or ""

如果电池给你None这将产生空字符串""

0

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

"... ('%s', '%s')" % (A[i][0], A[i][1] if A[i][1] else '') 
+1

@woozyking建议的A [i] [1]或'''语法实际上更好。 –

+1

为什么,谢谢。尽管从元的角度来看,if if逻辑匹配人类更好地处理信息的方式。所以这两个都是教育,我更'数字':) – woozyking