说我有一个文字文件说:
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])
答案 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]