簡體   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