爲了處理多個CSV文件的內容,我必須從string-list-elements中過濾幾個字符,最值得注意的是NULL值。爲此,我嘗試了幾種來自網絡的解決方案。其中之一是以下功能:不刪除空值(Python)
def removeNull(rawString):
l = filter("\u0000", list(rawString))
newString = ''.join(l)
printUtil.printAll(newString, "\n")
return newString
但是,它總是給我TypeError: 'str' object is not callable
,終止程序。更復雜的解決方案並沒有給我一個錯誤,但他們完全沒有改變,NULL值仍然存在。
此外,如果我通過\u0000
與其他任何值交換,但None
(這不會導致更改),我會收到相同的錯誤消息。
希望有人能爲我解決這個問題,因爲經過4或5個小時的反覆試驗後,我的想法已經過時。
謝謝您的回答和建議!
解決問題:
錯誤消息源自一個事實,那我用"\u0000"
作爲論據的過濾功能的構建。該特定問題的焦點兩種有效的解決方案,在經過了必要的功能:
l = filter(lambda x: x != '\u0000',rawString)
或
l = filter(lambda x:ord(x) != 0, list(rawString))
這將刪除空值。但是,對於給定的輸入,它之後會返回亂碼。我不知道爲什麼編寫文件的過濾內容與原始文件以及控制檯輸出完全不同,因爲只應刪除空值。如果需要,我可以上傳我的輸入和輸出文件,以更清楚地瞭解發生了什麼。編輯:Joran Beasleys解決方案也是如此。 –
對於一些澄清:進入刪除函數的字符串行爲像一個字節數組時,將其保存到一個文件,至少我必須進入二進制寫入模式。不幸的是,我不太瞭解這個結果,但至少現在它可行。 –