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

Python List: Replace Double Quotes with Single Quotes

我正在尝试将数据插入 oracle 数据库,并且列的值是从列表中使用的。该列表包含多个值,对于空值(标记为“” - 双引号),它会失败。 所以我想将列表中的所有双引号更改为单引号。

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']

您的代码不起作用的原因是您在代码中写道,if x == "",
你是说如果 x 等于空白。这没有做任何事情,因为你是说,如果 x 等于空白,你需要使用 x == '""',这告诉程序你想要找到双引号,并使用单引号作为字符串说明符。

因此,您的代码应该是这样的:

第 1 行 = []

x 的值:

if x == '""':

    row1.append('')

else:

    row1.append(x)