我有一个制表符分隔的文本文件,它由两列组成,例如:
Apple123 2
Orange933 2
Banana33334 2
底部可能有空行。我该如何: 1. 去除空行,以及 2. 写入仅包含第一列的文件?
我现在的问题是,如果我使用line.strip()那么该行由一个长度为 10(例如第一行)而不是 2 的列表组成。如果我使用csv.reader (..., dialect = excel-tab) 然后我不能使用 strip() 所以我不能摆脱空行。
这应该可以解决问题:
with open(infilename) as infile, open(outfilename) as outfile:
for line in infile:
line = line.strip()
if line:
outfile.write("{}\n".format(line.split("\t")[0]))
您可以使用 Python 的基本字符串操作(str.split
等等)来做到这一点:
infile = open("/path/to/myfile.txt")
outfile = open("/path/to/output.txt", "w") # Clears existing file, open for writing
for line in infile:
if len(line.strip()) == 0:
# skip blank lines
continue
# Get first column, write it to file
col1 = line.split("\t")[0]
outfile.write(col1 + "\n")
outfile.close()