首页 > 解决方案 > 打印文件中的行直到行空白行

问题描述

我有一个包含以下数据的文件“testread.txt”。

A
1
2
3
4

BA
5
6
7
8

CB
9
10
11

D
12
13
14
15

我想明智地读取和提取每个部分的数据并将其写入不同的文件。例如;

1
2
3
4

将其写入文件“a.txt”

5
6
7
8

将其写入文件“b.txt”

9
10
11

将其写入文件“c.txt”等等......

标签: pythonpython-3.xfiletextblank-line

解决方案


可以使用(粗略)解决方案:

  1. collections.defaultdict划分和存储物品;
  2. numpy.savetxt将它们保存到文件中。
import numpy as np
from collections import defaultdict

with open('testread.txt', 'r') as f:
    content = f.readlines()

d = defaultdict(list)

i = 0
for line in content:
    if line == '\n':
        i+=1
    else:
        d[i].append(line.strip())

for k,v in d.items():
    np.savetxt('file{}.txt'.format(k), v[1:], delimiter=",", fmt='%s')

你得到:

  • file0.txt
1
2
3
4
  • file1.txt
5
6
7
8
  • file2.txt
9
10
11
  • 文件 3.txt
12
13
14
15

推荐阅读