繁体   English   中英

Python列表:用单引号代替双引号

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM