使用PIPE分隔符连接列表的元素

时间:2015-10-02 21:26:07

标签: python list tuples

我需要以下代码的帮助。 代码执行以下操作。

执行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)

非常感谢,如果有任何帮助。

谢谢, 巴拉

3 个答案:

答案 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'