2013-07-04 183 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