首页 > 解决方案 > 从一个文件中读取字典并使用python从熊猫创建一个excel(数据框)l

问题描述

我有一个输入文件,如下所示,其中包含多行字典,其中键列保持不变:

{'TABSCHEMA': 'OP', 'TABNAME': 'T1', 'COLNO': 9, 'COLNAME': 'ACD'}
    {'TABSCHEMA': 'OP', 'TABNAME': 'T1', 'COLNO': 8, 'COLNAME': 'ACD1'}
     {'TABSCHEMA': 'OPE', 'TABNAME': 'T1', 'COLNO': 8, 'COLNAME': 'AC_CD'}
     {'TABSCHEMA': 'OPEW', 'TABNAME': 'T2', 'COLNO': 7, 'COLNAME': 'AC_ID'}

我想将其转换为如下数据框:

Expected O/p:
    TABSCHEMA   TABNAME COLNO   COLNAME
0   OP  T1  8   ACD
1   OP  T1  9   ACD1
2   OPE T1  8   ACC_D
3   OPEW T2 7   AC_ID
SQL used:
import pandas as pd
def compare(File1,File2):
    with open(File1,'r') as f:
        d=set(f.readlines())
    with open(File2,'r') as f:
        e=set(f.readlines())
    with open('pandastry1.txt','w') as f:
        for line in list(e-d):
            dict_count = len(line)
            print(dict_count)
            df = pd.DataFrame(line[0], index=[0])
            print(df)
   
compare('OPd.txt','OPER.txt')

似乎查询有问题,。能够帮助?

标签: python

解决方案


请检查以下解决方案。

在此处输入图像描述

在此处输入图像描述

希望这就是你要找的。

ss = [{'TABSCHEMA': 'OP', 'TABNAME': 'T1', 'COLNO': 9, 'COLNAME': 'ACD'},
 {'TABSCHEMA': 'OPE', 'TABNAME': 'T1', 'COLNO': 8, 'COLNAME': 'AC_CD'},
 {'TABSCHEMA': 'OPEW', 'TABNAME': 'T2', 'COLNO': 7, 'COLNAME': 'AC_ID'}]

import json
import pandas as pd
df = pd.io.json.json_normalize(ss)
df.to_excel(‘excel_filename.xlsx’)

更新输入后:

在此处输入图像描述


推荐阅读