我使用pyhton2.7来比较数据集。我调用select
语句从两个表中提取数据str(row[4])
始终为空。我得在那一栏写个“T”
在我在下面代码中使用的g.write
语句中,有没有一种写入str(row[4])
的方法
这是我代码的一部分:
## This is used to connect to our database and run the sql statement.
def RunSQLStatement(sql):
conn = psycopg2.connect(Connect2DB())
cursor = conn.cursor()
cursor.execute(sql)
alias_data = cursor.fetchall()
cursor.close()
conn.close()
return alias_data
def selectFoisp():
with open(outTemp_file, 'w') as g:
strGetDiffer = """SELECT c.foi_id, c.title, c.feat_type, c.feat_subtype, c.upd_type, p.foi_id, p.title
FROM foisp c, foisp_prior p
WHERE (c.foi_id = p.foi_id)
AND (c.title <> p.title)"""
extract_rows = RunSQLStatement(strGetDiffer)
for row in extract_rows:
g.write(str(row[0]) + ',' + str(row[1]) + ',' + str(row[2]) + ',' + str(row[3]) + ',' + str(row[4]) + ',' + str(row[5]) + ',' + str(row[6]) + '\n')
如果它总是空的,为什么不直接用
'T'
替换str(row[4])
(正如迈克尔所做的)也就是说,您应该能够直接操纵循环中的
row[4]
:此外,您应该考虑使用
CSV
模块:这将自动将iterable排序为您指定的格式(逗号分隔,但如果您希望它与其他内容分隔,则可以更改某些参数),这样就不必进行冗长的字符串连接。那样看起来也干净多了
或使用format method:
相关问题 更多 >
编程相关推荐