如何从文本文件中删除特定字符

时间:2014-11-19 21:46:59

标签: python-3.x

这是我的文本文件:

airport, 2007, 175702
airport, 2008, 173294
request, 2005, 646179
request, 2006, 677820
request, 2007, 697645
request, 2008, 795265
wandered, 2005, 83769
wandered, 2006, 87688
wandered, 2007, 108634
wandered, 2008, 171015

当我使用我的代码阅读此文件时:

def readWordFile(fileName):

    for line in fileName:
        newline = line.split()
        print(newline)

def main():
    fileName = input('Enter filename: ')
    readWordFile(open(fileName))

main()

这是我的结果:

['airport,', '2007,', '175702']
['airport,', '2008,', '173294']
['request,', '2005,', '646179']
['request,', '2006,', '677820']
['request,', '2007,', '697645']
['request,', '2008,', '795265']
['wandered,', '2005,', '83769']
['wandered,', '2006,', '87688']
['wandered,', '2007,', '108634']
['wandered,', '2008,', '171015']

如何删除单词和年份之后的逗号?

2 个答案:

答案 0 :(得分:1)

如果这是文件的确切结构,您可以通过以下方式获取所需的列表:

>>> 'airport, 2007, 175702'.split(', ')
['airport', '2007', '175702']

但是,如果你不确定逗号后面是否有空格,你可以这样做:

>>> [item.strip() for item in 'airport, 2007, 175702'.split(',')]
['airport', '2007', '175702']

所以让我们使用第二种方法:

for line in myfile:
    print([item.strip() for item in line.split(',')])

答案 1 :(得分:0)

如果您的文件是逗号分隔值,那么正确的方法可能是使用CSV reader module来阅读内容,并将处理逗号作为其中的一部分。

e.g。

>>> import csv
>>> with open('data.csv') as csvfile:
...     for row in csv.reader(csvfile):
...         print(row)