[英]Python List: Replace Double Quotes with Single Quotes
我正在尝试将数据插入 oracle db,并且列的值是从列表中消耗的。 该列表包含多个值,对于空值(标记为“” - 双引号)它会失败。 所以我想将列表中的所有双引号更改为单引号。
values = ['50.38146', "", "", 'ABC']
这里“”被标记为空值。 我想用双单引号更改所有双双引号来表示空字符串。 像这样的东西:
values = ['50.38146', '', '', 'ABC']
我在下面尝试但不起作用:
row1 = []
for x in values:
if x == "":
row1.append('')
else:
row1.append(x)
有任何想法吗
解决方案是将 if x == "" 替换为 if x == '""'
row1 = []
for x in values:
if x == '""':
row1.append('')
else:
row1.append(x)
print(row1)
values = ['50.38146', '', '', 'ABC']
获取 "" 的第一个索引并将其替换为 '' 它会将所有出现的 "" 替换为 ''
>>> values = ['50.38146', "", "", 'ABC']
>>> index=values.index("") #get first index of ""
>>> values[index]='' #replaces all "" with ''
>>> values
['50.38146', '', '', 'ABC']
您的代码不起作用的原因是因为在代码中,您写道,如果 x == "",
你是说如果 x 等于空白。 这没有任何作用,因为您是说,如果 x 等于空白,则需要使用 x == '""',这告诉程序您要查找双引号,并使用单引号作为字符串说明符。
因此,您的代码将改为:
第 1 行 = []
对于 x 值:
if x == '""':
row1.append('')
else:
row1.append(x)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.