如何使用python将制表符分隔的文本文件转换为JSON

如何使用python将制表符分隔的文本文件转换为JSON,python,python-requests,Python,Python Requests,你能帮我把这段文字用这个表格输出吗 即txt信息 1 0 500 0 0 592 46365838 sysadmin@ol_informix1210:.destroy 2 0 27 0 0 592 46400038 sysadmin@ol_informix1210:.destroy 3 0 487 0 0 1215 4631ec38

你能帮我把这段文字用这个表格输出吗

即txt信息

1 0 500 0 0 592 46365838 sysadmin@ol_informix1210:.destroy 2 0 27 0 0 592 46400038 sysadmin@ol_informix1210:.destroy 3 0 487 0 0 1215 4631ec38 sysadmin@ol_informix1210:.equal 4 1 547 0 0 2 4697a838 sysadmin@ol_informix1210:.task 5 1 560 0 0 329 466a8c38 sysadmin@ol_informix1210:.exectask 6 1 463 0 0 39930 463fe838 sysadmin@ol_informix1210:.assign 7 2 542 0 0 2 462fec38 sysadmin@ol_informix1210:.task 8 2 642 0 0 6 46879038 sysadmin@ol_informix1210:.mon_estimate_compression 9 2 532 0 0 140 4641d438 sysmaster@ol_informix1210:.bitval 10 2 575 1 0 1 45cbea20 sysadmin@ol_informix1210:.db_sched 11 3 603 0 0 46 4657a038 sysadmin@ol_informix1210:.check_backup 12 3 133 0 0 39930 463fc838 sysadmin@ol_informix1210:.assign 13 3 33 0 0 592 46406438 sysadmin@ol_informix1210:.destroy 14 4 598 188 0 188 466aac38 sysadmin@ol_informix1210:.rwt_db_purge_tables 15 4 28 0 0 39930 46367c38 sysadmin@ol_informix1210:.assign 16 5 548 0 0 2 46aaf838 sysadmin@ol_informix1210:.task 17 5 503 0 0 14 4697ec38 sysadmin@ol_informix1210:.compare 18 7 503 0 0 28 4689c438 sysmaster@ol_informix1210:.compare 19 8 541 0 0 2 46a13438 sysadmin@ol_informix1210:.task 20 8 49 0 0 592 4635e838 sysadmin@ol_informix1210:.destroy 21 8 3 1 0 565 4636a038 sysadmin@ol_informix1210:.ikeyextractcolno 22 9 466 0 0 14 46a4f038 sysutils@ol_informix1210:.compare 23 9 31 0 0 592 46400c38 sysadmin@ol_informix1210:.destroy 24 10 486 0 0 14 46689838 sysadmin@ol_informix1210:.compare 25 10 80 0 0 1760 4671cc38 sysutils@ol_informix1210:.ifx_allow_newline 26 10 26 0 0 39930 46367038 sysadmin@ol_informix1210:.assign 27 11 546 0 0 2 46bd2838 sysadmin@ol_informix1210:.task 28 12 466 0 0 14 4689d838 sysuser@ol_informix1210:.compare 29 12 486 0 0 28 4689b038 sysmaster@ol_informix1210:.compare 30 12 574 4 0 158 4642dc38 sysadmin@ol_informix1210:.db_sch_worker 31 12 464 0 0 592 46360838 sysadmin@ol_informix1210:.destroy 32 13 602 0 0 46 467ec038 sysadmin@ol_informix1210:.tabnames_save_diffs 33 13 80 0 0 1969 464c2c38 sysuser@ol_informix1210:.ifx_allow_newline 34 13 32 0 0 592 46358038 sysadmin@ol_informix1210:.destroy 35 14 539 0 0 2 4672e038 sysadmin@ol_informix1210:.task 36 14 652 0 0 1125 4656f038 sysadmin@ol_informix1210:.lowmemoryreconfig 37 14 47 0 0 39930 463fb838 sysadmin@ol_informix1210:.assign 38 15 634 14 0 14 467ff838 sysadmin@ol_informix1210:.aus_refresh_stats 39 16 562 0 0 47 466a9c38 sysadmin@ol_informix1210:.exectask 40 17 545 0 0 2 464b8038 sysadmin@ol_informix1210:.task 41 17 467 0 0 1215 462f1838 sysadmin@ol_informix1210:.equal 42 18 540 2 0 2 464ca038 sysadmin@ol_informix1210:.task 43 18 503 0 0 14 46a51838 sysutils@ol_informix1210:.compare 44 18 573 0 0 3 4630b8b8 sysadmin@ol_informix1210:.wake_dba 45 18 48 0 0 592 4635d838 sysadmin@ol_informix1210:.destroy 46 19 655 0 0 46 46a53c38 sysadmin@ol_informix1210:.alertcleanup 47 19 568 0 0 109 466fe838 sysadmin@ol_informix1210:.ph_dbs_alert 48 19 601 0 0 48 46594838 sysadmin@ol_informix1210:.onconfig_save_diffs 49 19 30 0 0 39930 463f9438 sysadmin@ol_informix1210:.assign 50 21 503 0 0 14 468de038 sysuser@ol_informix1210:.compare 51 22 561 0 0 47 466a5838 sysadmin@ol_informix1210:.exectask 52 22 483 0 0 39930 4636b838 sysadmin@ol_informix1210:.assign 53 23 543 0 0 2 46870838 sysadmin@ol_informix1210:.task 54 23 486 0 0 14 46a50438 sysutils@ol_informix1210:.compare 55 23 589 0 0 1125 46530838 sysadmin@ol_informix1210:.mon_low_storage 56 24 571 0 0 8 4636d838 sysadmin@ol_informix1210:.ph_reset_next_execution 57 24 46 0 0 39930 463fa838 sysadmin@ol_informix1210:.assign 58 25 29 0 0 39930 46369038 sysadmin@ol_informix1210:.assign 59 26 538 0 0 46 46a8f038 sysmaster@ol_informix1210:.partpagenum 60 26 486 0 0 14 468dbc38 sysuser@ol_informix1210:.compare 61 26 484 0 0 592 46365038 sysadmin@ol_informix1210:.destroy 62 27 544 0 0 2 46be9838 sysadmin@ol_informix1210:.task 63 27 466 0 0 14 468e0438 sysadmin@ol_informix1210:.compare 64 27 631 0 0 47 46757838 sysadmin@ol_informix1210:.aus_evaluate_stats 65 27 499 0 0 39930 4636c838 sysadmin@ol_informix1210:.assign 66 27 577 1 0 1 463b0038 sysadmin@ol_informix1210:.dbutil 67 28 559 0 0 47 46694838 sysadmin@ol_informix1210:.exectask 68 28 134 0 0 592 4635f838 sysadmin@ol_informix1210:.destroy 69 28 80 0 0 18511 46297af8 sysadmin@ol_informix1210:.ifx_allow_newline 70 29 466 0 0 28 466a4c38 sysmaster@ol_informix1210:.compare 71 29 600 0 0 47 46691038 sysadmin@ol_informix1210:.rwt_purge_tables 72 30 80 0 0 8154 4671c038 sysmaster@ol_informix1210:.ifx_allow_newline 73 30 472 0 0 408 464b4838 sysadmin@ol_informix1210:.lessthanorequal
请尝试以下
python
脚本:

import json
import collections as cl

infile = "info.txt"                         # modify to your filename

keys = ["NUM", "list", "id", "ref", "drop", "hits", "heap_ptr", "udr_name"]

# split a list l into sub-lists of n elements
def split_list(l, n):
    for idx in range(0, len(l), n):
        yield l[idx:idx + n]

result = []
with open(infile) as f:
    l = f.read().split()                    # read all file into a list
    sl = list(split_list(l, 8))             # split the list by 8 elemnts
    for i in sl:
        od = cl.OrderedDict(zip(keys, i))   # create an ordered dictionary
        result.append(od)                   # append the dictionary to the list

print(json.dumps(result, indent=4))         # output in json format
输出:

[
    {
        "NUM": "1",
        "list": "0",
        "id": "500",
        "ref": "0",
        "drop": "0",
        "hits": "592",
        "heap_ptr": "46365838",
        "udr_name": "sysadmin@ol_informix1210:.destroy"
    },
    {
        "NUM": "2",
        "list": "0",
        "id": "27",
        "ref": "0",
        "drop": "0",
        "hits": "592",
        "heap_ptr": "46400038",
        "udr_name": "sysadmin@ol_informix1210:.destroy"
    },
    # following lines snipped...

希望这能有所帮助。

您想将以制表符分隔的文本文件更改为JSON?是的,要使用python进行此操作,如果可以,请单击答案旁边的复选标记接受我的答案,我将不胜感激。
[
    {
        "NUM": "1",
        "list": "0",
        "id": "500",
        "ref": "0",
        "drop": "0",
        "hits": "592",
        "heap_ptr": "46365838",
        "udr_name": "sysadmin@ol_informix1210:.destroy"
    },
    {
        "NUM": "2",
        "list": "0",
        "id": "27",
        "ref": "0",
        "drop": "0",
        "hits": "592",
        "heap_ptr": "46400038",
        "udr_name": "sysadmin@ol_informix1210:.destroy"
    },
    # following lines snipped...