【发布时间】:2017-05-19 07:43:49
【问题描述】:
我正在尝试将 csv 文件中的空白单元格转换为 NULL 并将它们上传到 SQL Server 表中,以便它显示为 NULL 而不是空白。下面的代码有效,但它们将 NULL 作为字符串加载。你能帮我修改代码以便在 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()
【问题讨论】:
-
从 Python 我猜是
None,但肯定不是'NULL'。但这是一个猜测。 -
你的作者是什么?它是如何输出数据的——要执行的 SQL 命令、要导入的数据元素、某种形式的直接到 SQL-Server 的编写器,还是??。
-
我尝试使用无,数据加载后在 SQL Server 表中显示为空白。
-
Laughing Vergil - 我添加了更多代码来了解它如何在 SQL Server 中插入数据。 - 谢谢。
标签: python sql-server python-3.x csv null