我有一个制表符分隔的文本文件,它由两列组成,如:
Apple123 2
Orange933 2
Banana33334 2
底部可能有空行。我怎么能够: 剥去空行,然后 2.写入仅包含第一列的文件?
我现在的问题是,如果我使用 line.strip(),那么该行包含一个长度为10的列表(例如第一行),而不是2.如果我使用 csv.reader (...,dialect = excel-tab)然后我不能使用strip(),所以我无法摆脱空行。
答案 0 :(得分:2)
这应该可以解决问题:
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]))
答案 1 :(得分: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()