這裏是一個概念性問題,我一直在關於數據的清理以及如何與列表和元組進行交互,但我不確定如何解釋,但如果我可以爲它修復,我可以在概念上更好地使用python。從列表或元組內訪問數據並清理它
在這裏:(使用python 3和sqlite3的)
我有其在MM-DD-YY 24:00的格式中它文本日期列的SQLite數據庫。當在數據庫瀏覽器中查看文本看起來很好。但是,在Python中使用fetchall()時,代碼以'MM-DD-YY \ xa0'格式打印日期。我想從代碼中清除\ xa0,並且嘗試了一些代碼,這些代碼是我認爲我應該做的事情以及我在此處閱讀的另一篇文章的組合。這是代碼:
print(dates)
output [('MM-DD-YY\xa0',), ('MM-DD-YY\xa0',)etc.blahblah] i just typed this in here
to show you guys the output
dates_clean = []
for i in dates:
clean = str(i).replace(u'\xa0', u' ')
dates_clean.append(clean)
現在,當我打印dates_clean我得到:
["('MM-DD-YY\xa0',)", "('MM-DD-YY\xa0',)"etc]
所以現在你可以看到,當我試圖清理它,它做了什麼,我想它做的事,但現在它最初包含的實際元組已經成爲了文本本身的一部分,並且包含在另一個元組中。因此,當我使用UPDATE語句將此列表寫回SQLite時。所有的日期值都包含在一個元組中。
它令我感到沮喪,因爲我一直在面對諸如此類的問題,在這裏我想編輯列表或元組內的某些東西,並讓新值替換舊值而不是保留所有字符這表示它是一個元組,並使它們成爲文本。對不起,如果這是令人困惑的,就像我說過的那樣難以解釋。當我試圖清理它時,我總是會讓自己的數據變得更加骯髒。
任何有關如何有效地清潔列表和元組內數據的見解將不勝感激。我想我對訪問元組或訪問元組內部的區別感到困惑。如果你能提出我正在處理的概念性問題的名字,這也可能會有幫助,所以我可以自己做更多的研究。
謝謝!
它是「MM-DD-YY 24:00」還是「MM-DD-YY 24:00」?我懷疑是後者,即不間斷使用空間是故意的,你不應該「清理」它。相反,你應該正確地打印它,即* not *使用默認的'list .__ str__',它在成員上調用'repr'。 –
Python 2或3? Unicode處理是它們之間的主要變化,所以它非常重要。另外,'sqlite3'或'apsw'? –
無論如何,請提供完整的代碼。 –