需要删除python中的部分文本行

时间:2010-08-24 18:49:11

标签: python

我有以下问题。我有一个不同文本行的列表,其中都有逗号。我想将文本保留在逗号的左侧,并删除文件中所有行的逗号之后发生的所有内容。

以下是文件中的示例行:

1780375“004956,down,943794,22634,ET,2115,

我想在第一个逗号后删除字符:

我试图制作程序但是遇到了一些麻烦。以下是我到目前为止的情况:

datafile = open('C:\\middlelist3.txt', 'r')

smallerdataset = open('C:\\nocommas.txt', 'w')

counter = 1

for line in datafile:
    print counter
    counter +=1
    datafile.rstrip(s[,])
    smallerdataset.write(line)

1 个答案:

答案 0 :(得分:4)

您可以使用split。它将字符串拆分为给定的子字符串。由于您只需要第一部分,我将1设置为第二个参数,使其仅在第一个参数上分割。

您可以使用enumerate,而不是使用计数器,如下所示:

datafile = open('C:\\middlelist3.txt', 'r')

smallerdataset = open('C:\\nocommas.txt', 'w')

for counter, line in enumerate(datafile):
    print counter
    smallerdataset.write(line.split(',', 1)[0])   

smallerdataset.close()

这是使用with语句和生成器表达式改进脚本的方法:

with open('C:\\middlelist3.txt') as datafile:
    list = (line.split(',', 1)[0] for line in datafile)
    with open('C:\\nocommas.txt', 'w') as smallfile:
        smallfile.writelines(list)