打印文件中的行,直到行空白

2024-09-24 22:27:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个档案“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” 等等。。。你知道吗


Tags: 文件数据txt档案cbbatestread
2条回答

可使用以下方法获得(粗略)解决方案:

  1. ^{}划分和存储项目
  2. ^{}将它们保存到文件中。你知道吗
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

其思想是在有新的空行可用时跳过文件。下面的代码应该可以做到这一点。你知道吗

files_list = ['a.txt', 'b.txt', 'c.txt']
fpr = open('input.txt')
for f in files_list:
    with open(f, 'w') as fpw:
        for i, line in enumerate(fpr):
            if i == 0:   # skips first line
                continue
            if line.strip():
                fpw.write(line)
            else:
                break

相关问题 更多 >