1

次のような2つの列で構成されるタブ区切りのテキストファイルがあります。

Apple123    2
Orange933   2
Banana33334 2

下部に空の行があるかもしれません。どうすればよいですか:1。空の行を削除し、2。最初の列のみで構成されるファイルに書き込みますか?

今の私の問題は、line.strip()を使用すると、その行が2ではなく10の長さのリストで構成されていることです(たとえば、最初の行の場合)。csv.reader(...、方言)を使用する場合= excel-tab)次に、strip()を使用できないため、空の行を削除できません。

4

2 に答える 2

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]))
于 2012-10-20T06:59:56.503 に答える
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()
于 2012-10-20T05:56:04.313 に答える