如何在逗号之间的文本文件中打印某些单词?

时间:2014-10-03 14:39:20

标签: python

说我有一个文字文件说:

    this is part 1, this is part 2, this is part 3
    this is part 4, this is part 5, this is part 6
    this is part 7, this is part 8, this is part 9

我如何只打印第1,4和7部分(新行的第一部分)?

这是关于我设法得到了多远:

    fp = open("text", "r+")
    titles = fp.readlines()
    print(titles[0])

5 个答案:

答案 0 :(得分:2)

将所有行读入列表,然后在列表解析中使用逗号分割,并获取拆分的第一个元素。

with open("text", "r") as fp:
    titles = [i.split(',')[0] for i in fp.readlines()]

答案 1 :(得分:0)

您可以使用csv模块。

行是用逗号分隔的数组,因此您可以确定每行感兴趣的元素。

既然您想要第一个,那么您将print row[0]

import csv

with open("blah.csv", "rb") as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    for row in reader: # for each row
        print row[0] 

答案 2 :(得分:0)

按换行符(\n)拆分文本,然后在逗号上拆分。由于您只需要第二个拆分的第一个元素,因此您将使用索引0来打印这些元素。

text = """this is part 1, this is part 2, this is part 3
this is part 4, this is part 5, this is part 6
this is part 7, this is part 8, this is part 9"""

for t in text.split("\n"):
    print t.split(',')[0]

打印:

this is part 1
this is part 4
this is part 7

答案 3 :(得分:0)

readlines()生成一个行列表,因此titles [0]只是第​​一行(顶行)。你似乎想要的是第一列。你需要的功能是split(),它将在某个字符或单词上分割一个字符串。您希望在每一行上使用split(",")来分隔逗号并将其[0]压缩以获取第一个逗号之前的部分。

fp = open("text", "r+")
titles = fp.readlines()
for title in titles:
    print(title.split(",")[0])

输出:

this is part 1
this is part 4
this is part 7

答案 4 :(得分:0)

试试这样: -

text_file = open("filename.dat", "r")
lines = text_file.read().split(',')
print lines[0]