2017-09-09 66 views
0
def organize_data(location='G:\pythonFiles\problem 22.txt'): 
    with open(location) as f: 
     name_string = f.read().replace('\n', '') 
     name_string.replace('"', '') 
     names = name_string.split(',') 
    return names 

print organize_data() 

這似乎是replace方法心不是工作全部刪除引號,因爲有或沒有它即時得到相同的結果:['"MARY"', '"PATRICIA"', '"LINDA"', '"BARBARA"',.....]從一個文本字符串

如何刪除所有"並返回像列表即:['MARY', 'PATRICIA', 'LINDA', 'BARBARA',.....] ``

回答

2

Python中的字符串是不可變的,所以字符串方法不能修改字符串。它們會返回字符串的修改版本。

name_string.replace('"', '')作爲單獨的聲明不會做任何事情。它返回刪除了雙引號的字符串,但返回值不存儲在任何地方。所以,你應該用

name_string = name_string.replace('"', '') 

代替。

0

首先,使用open與encoding,name_string.replace('"', '')表示您正在使用utf-8。 試試這個

def organize_data(location='G:\pythonFiles\problem 22.txt'): 
    with open(location, "r", encoding="utf-8") as f: 
     name_string = f.read()replace('\n', '') 
     name_string = name_string.replace('"', '') 
     names = name_string.split(',') 
    return names 

print organize_data() 
相關問題