用元组替换列表中的文本

时间:2019-07-15 23:14:10

标签: python list replace tuples

这是我的第一个问题,我正在学习python并尝试解决以下问题:

使用CX_oracle库执行SQL查询。 结果以列表形式返回,其中包含查询返回的所有行的元组。我已经将其保存在名为“ data”的变量中。 下面以一排为例。

[('tuple_item_1','tuple_item_2', 'this\nis\none\nstring\nwith\nlinebrakes')]

我想做的是在初始元组中搜索'\ n'并将其替换为新元组中的空格。我知道元组本身不能被修改。这样做的目的是将其输出到没有换行符的csv文件中,以便某些工具可以解释它。

非常感谢您的帮助。 先感谢您。

def querydata(): #create function
sql = 'select * from db1' #sql statement
cursor.execute(sql) #cursor
headers = [row[0] for row in cursor.description] #column names saved into variable 'headers'
data = cursor.fetchall() #all returned data saved into variable 'data'
data2 = ["" if s == "\n" else None for s in data]
return data2 

1 个答案:

答案 0 :(得分:1)

>>> data = [('tuple_item_1','tuple_item_2', 'this\nis\none\nstring\nwith\nlinebrakes')]
>>> data2 = [tuple(item.replace('\n', ' ') for item in row) for row in data]
>>> data2
[('tuple_item_1', 'tuple_item_2', 'this is one string with linebrakes')]