2017-10-12 14 views
0

我知道我可以做一個簡單的內存CSV文件是這樣的:如何使用cStringIO創建具有空值的內存TSV文件?

from cStringIO import StringIO 
tsv_string = '1\t2\t3\n' 
f = StringIO(tsv_string) 

但是我怎麼適應這個包括null/None值?我在問,因爲我正在使用真實數據動態生成我的tsv_string。一些整數字段爲空,我不能用空字符串替換它們,因爲Postgres無法正確解釋它。

爲了讓更多的背景,我這樣做,這樣我可以使用psycopg2copy_from功能目前給了我這個錯誤是由於上述的原因:

psycopg2.DataError: invalid input syntax for integer: "" 

所以現在的問題是,如何我是否將空值存入我的內存TSV文件中。是否有更適合的文件擴展名可供使用?

回答

0

,我發現我的回答從這個question.

我必須指定null參數爲空字符串:

cursor.copy_from(f, 'my_table', columns=columns, null='')

相關問題