python将文件内容转为json格式

目录

1. 需求分析

写这篇文章主要是自己为了偷懒不想将生成的数据手动一个个弄成json格式,比如我有下面这样的一大堆数据(截取了一部分展示)
《python将文件内容转为json格式》
我需要弄成下面这种json格式:

{ "cm": [6935, 3585, 56, 10464]}

最笨的办法就是一个个手动修改,但是当数据一旦很多的时候,这不累死孩子?所以接下来就是懒人用高效的办法解决。

2.解决方法

2.1 技术分析

解决这个问题之前我们需要明白一个大致的流程:首先,从txt中读取数据,可以从上面看到我们有4个字段,然后有好多行,只要我们能读取一行剩下的通过循环遍历即可;其次就是我们,读取的这四个字段需要以数组的形式作为字典的值保存;最后读取完毕之后保存到一个新文件里。

2.2 代码实现

import json

def readFile(filename):
    oneL = []
    twoL = []
    threeL = []
    fourL = []
    with open(filename, encoding='utf-8') as lines:
        for line in lines:
            # 读取文件,空格进行分割,获取第一列的值
            oneL.append(line.split(" ")[0])
            twoL.append(line.split(" ")[1])
            threeL.append(line.split(" ")[2])
            # 读取文件,空格进行分割,并去掉最后的'\n'
            fourL.append(line.split(" ")[3].strip())

    return oneL, twoL, threeL, fourL


# 读取ml.txt文件
ml_1, ml_2, ml_3, ml_4 = readFile("ml.txt")
# 将每个结果以字典的形式存储,再将每个字典存储到列表中
result = []
# 遍历文件ml
for i in range(len(ml_1)):
    # 将结果保存到dic中
    # dic = {'epoch':i,'cm': [ml_1[i], ml_2[i], ml_3[i], ml_4[i]]}
    # 这里将str转为int(个人需求)
    dic = { 'epoch': i, 'cm': [int(ml_1[i]), int(ml_2[i]), int(ml_3[i]), int(ml_4[i])]}
    result.append(dic)

# 新建文件夹,将内容写入到文件中
newFile = 'new.txt'
with open(newFile, 'w') as name:
    for i in range(len(result)):
        jsonData = json.dumps(result[i], ensure_ascii=False)
        # 写入文件
        name.write(jsonData + ',' + '\n' )

2.3 实验结果

《python将文件内容转为json格式》

2.4 测试数据

文件名为ml.txt

10520 0 10520 0
5194 5326 1 10519
5731 4789 2 10518
6059 4461 4 10516
6312 4208 7 10513
6437 4083 14 10506
6675 3845 28 10492
6588 3932 23 10497
6725 3795 29 10491
6805 3715 38 10482
7045 3475 79 10441
6935 3585 56 10464
6928 3592 56 10464
7024 3496 67 10453
6926 3594 56 10464
6971 3549 58 10462
7004 3516 63 10457
7020 3500 65 10455
7027 3493 67 10453
7181 3339 111 10409
7165 3355 106 10414
6994 3526 60 10460
7037 3483 70 10450
7114 3406 100 10420
7197 3323 117 10403
7099 3421 94 10426
7037 3483 72 10448
7135 3385 105 10415
7012 3508 64 10456
7053 3467 74 10446
7076 3444 80 10440
7259 3261 143 10377
7127 3393 100 10420
7152 3368 104 10416
7152 3368 104 10416
7063 3457 77 10443
7147 3373 104 10416
7070 3450 79 10441
7292 3228 153 10367
7135 3385 101 10419
7051 3469 76 10444
7154 3366 104 10416
7185 3335 112 10408
7071 3449 80 10440
7157 3363 105 10415
7173 3347 109 10411
7140 3380 99 10421
7117 3403 90 10430
7138 3382 96 10424
7139 3381 97 10423
7101 3419 87 10433

3. 参考文献

1. python读取文件,整理文件内容,并将内容以json的形式存储到新的文件中

    原文作者:流年若逝
    原文地址: https://blog.csdn.net/wyf2017/article/details/117163319
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞