将记事本数据转换为excel

问题描述 投票:0回答:1

我的记事本中有一些数据,如下所示:

节点1

7

第 2 页

r 5

节点2

6

第 2 页

r 4

我想使用python将这些数据转换为excel文件,以便创建一个excel,其中行为node1和node2,列为:total、primary和replicas,即p表示primary,r表示replicas,数字转到名为“total”的列.所以基本上在Excel中它应该像下面这样:

Excel should look like this

python excel notepad
1个回答
0
投票

将数据传输到 Excel 的最简单方法是使用 CSV 文件

主要思想是依次读取四行,然后从中生成一行并将该行写入 CSV 文件“data.csv”。

您的数据将如下所示

node1;7;2;5
node2;6;2;4

接下来您应该在 Excel 中打开“data.csv”。

一些解释:

  1. 我认为您的文本文件中没有空行。
  2. 首先,您应该清除新行符号中的文本。它的制造商是 rstrip()方法。
  3. 带有“p”和“r”的数据需要从“p”和“r”中清除。它 通过 .rsplit()[-1] 作为按空格分割并获取最后一个 列表的元素。
import csv

with open("data.txt", "rt") as data, open("data.csv", "w", newline='') as csvfile:
    for line in data:
        row = [line.rstrip()]  # node name
        row.append(data.readline().rstrip())  # total
        row.append(data.readline().rstrip().rsplit()[-1])  # primary
        row.append(data.readline().rstrip().rsplit()[-1])  # replicas
        csv_data = csv.writer(csvfile, delimiter=";", quoting=csv.QUOTE_MINIMAL)
        csv_data.writerow(row)
    else:
        print("Done!")

可以将数据写入XLSX文件,但有点困难。

© www.soinside.com 2019 - 2024. All rights reserved.