我需要以下代码的帮助。 代码执行以下操作。
执行sql查询,sql查询的输出是混合字符串,int和date。 即
~ mkdir data
~ cd data
~ mongod --dbpath .
等
期望是想要连接sql输出的每个记录并写入文件。
10001,New York,Corp,1,20151001
10002,New York,Corp,1,20151001
以下是代码。
10001|New York|Corp|1|20151001\n
10002|New York|Corp|1|20151001\n
从上述声明中获取错误。
import cx_Oracle
import os
result = cur.execute(qry) # -> Execute the sql query.
le.extend(result)
# The output of le is like this , le -> type list
le = [(10001,u'New York','Corp',1,20151001),(10002,u'New York','Corp',1,20151001)]
final_data = []
final_data.extend('|'.join(w) for w in le)
我试过这个
TypeError: sequence item 1: expected string or Unicode, int found
但未获得所需的输出final_data.extend('|'.join(str(w)) for w in le)
非常感谢,如果有任何帮助。
谢谢, 巴拉
答案 0 :(得分:1)
var testString = "This string has a bad word in it to test";
function findBadWords(string) {
var badWord = /\bbad\b|\bword\b|\btest\b/gi
var isBadWord = string.match(badWord);
if (isBadWord) {
newString = string.replace(badWord," *** ");
}
document.write(newString);
}
findBadWords(testString);
然后,您可以使用final_data = ["|".join(map(unicode, w)) + "\n" for w in le]
创建要写入文件的单个字符串,或者根据需要将"".join(final_data)
中的每个元素顺序写入文件。
答案 1 :(得分:1)
使用csv
模块:
import csv
results = cur.execute(qry)
with open('results.csv', 'w') as rs:
writer = csv.writer(rs, delimiter='|')
writer.writerows(results)
答案 2 :(得分:0)
以下代码应该有效 -
le = [(10001,u'New York','Corp',1,20151001),(10002,u'New York','Corp',1,20151001)]
final_data = ''
for item in le:
final_data += '|'.join(str(w) for w in item) + '\n'