所以我必須採取一個.csv文件(可以下載,點擊這個:http://ge.tt/7lx5Boj2/),我想將它轉換成一個2D列表。如何在2D列表中替換字符串字符?
我的代碼目前是這樣做的,但有一個問題。
嵌套列表中的每個元素都被讀爲大字符串而不是元素列表,因爲在每個嵌套列表的開始和結尾都添加了撇號。
例如,而不是:
["ID","Name","Type 1","Type 2","Generation","Legendary"]
我越來越:
['"ID","Name","Type 1","Type 2","Generation","Legendary"']
要解決這個問題,我試圖讓一個嵌套循環來一個空的替換列表中的每個撇號字符,但我的代碼不會做任何事情。它只是打印完全相同的字符串,就好像替換操作從未發生過一樣。
def read_info_file(filename):
opened_infocsv = open(filename, 'r') #opens an argued .csv file with INFO ormat.
linebylinelist = [fline.splitlines() for line in opened_infocsv] #converts entire .csv into a 2D list
opened_infocsv.close()
print(linebylinelist)
print('\n')
for i in linebylinelist:
for l in i:
l.replace("'","")
print(linebylinelist)
read_info_file('info_file5.csv')
任何想法解決這個問題?注意:我不允許導入CSV
編輯:我試過改變.replace到.strip,它仍然不起作用。我真的不知道如何解決這個問題。
我認爲問題的根源與我使用列表理解將CSV轉換爲2d列表的方式有關。也許可以將CSV轉換爲2d列表,而不必先將行轉換爲字符串。
我建議你至少在使用Python的csv庫。這將自動將每行轉換爲值列表,而無需拆分或替換。 –
不幸的是,我不允許導入csv – ruckarucka