从文本文件字符串中删除所有引号

时间:2017-09-09 14:52:01

标签: python string text-files

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 个答案:

答案 0 :(得分:4)

Python中的字符串是不可变的,因此字符串方法不能修改字符串。他们改为返回字符串的修改版本。

name_string.replace('"', '')作为单独的声明不做任何事情。它返回删除了双引号的字符串,但返回值不存储在任何位置。所以你应该使用

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

代替。

答案 1 :(得分:0)

首先,使用open with 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()