csvファイル内の空白のセルをNULLに変換してSQL Serverテーブルにアップロードしようとしているので、むしろNULLとして表示されます。以下のコードは動作しますが、文字列としてNULLをロードします。 SQLでNULLをロードするようにコードを修正する手助けをしてもらえますか?PythonのCSV空白セルをSQL NULLに変換する
reader = csv.reader(f_in) # setup code
writer = csv.writer(f_out)
row = next(reader) # handle first line (with no replacements)
writer.writerow(row)
last_row = row # always save the last row of data that we've written
variable = None
for row in reader: # loop over the rest of the lines
row = [x if x else "NULL" for x, y in zip(row, last_row)] # replace empty strings
writer.writerow(row)
last_row = row
with open(outputFileName,'r') as fin: # `with` statement available in 2.5+
dr = csv.DictReader(fin) # comma is default delimiter
to_db = [(i['SubFund'],
i['Trader'],
i['Prime Broker/Clearing Broker'])
cur.executemany("INSERT INTO Citco_SPOS (" +
"subfund, " +
"trader, " +
"prime_broker_clearing_broker, " + +
"VALUES (?, ?, ?);", to_db)
con.commit()
を動作するはずです:http://stackoverflow.com/questions/1149665/how-do-you-insert-null-values-into-sql-server –
からPython私は 'None'だと思うだろうが、確かに' 'NULL ''ではない。しかし、それは推測です。 – roganjosh
あなたの作家は何ですか?どのようにデータを出力していますか - 実行されるSQLコマンド、インポートされるデータ要素、Direct-to-SQL Serverライターの何らかの形式、または? –