Python 将数据帧转换为配置文件

Python 将数据帧转换为配置文件,python,python-3.x,pandas,dataframe,config,Python,Python 3.x,Pandas,Dataframe,Config,正在尝试将excel文件的内容转换为.ini文件。第一列是[节],其余列是该节中的变量。由于我迭代/切片数据帧的方式,当前收到一个KeyError。这是实现这一目标的好方法吗 def load_config_report(config_file_path): config = configparser.ConfigParser() pharmacy_settings = pd.read_excel(config_file_path,

正在尝试将excel文件的内容转换为.ini文件。第一列是[节],其余列是该节中的变量。由于我迭代/切片数据帧的方式,当前收到一个KeyError。这是实现这一目标的好方法吗

def load_config_report(config_file_path):
    config = configparser.ConfigParser()
    pharmacy_settings = pd.read_excel(config_file_path,
                                      sheet_name='pharmacy_settings')
    for each in pharmacy_settings['facility_name']:
        config[each]['facility_alias'] = pharmacy_settings['facility_alias']
        config[each]['facility_group_id'] = pharmacy_settings['facility_group_id']
        config[each]['invoice_num'] = pharmacy_settings['invoice_num']

    with open('X:\\Reports\\Invoices\\config.ini', 'w') as configfile:
        config.write(configfile)

在完成数据之前,您需要为
config[each]
初始化一个空字典

Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.752.0_x64__qbz5n2kfra8p0\lib\tkinter\__init__.py", line 1892, in __call__
    return self.func(*args)
  File "X:\Python Dev\REFACTOR\invoicerefactor.py", line 41, in read_config
    options.load_config_report(config_file_path.get())
  File "X:\Python Dev\REFACTOR\options.py", line 10, in load_config_report
    config[each]['facility_alias'] = pharmacy_settings['facility_alias']
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.752.0_x64__qbz5n2kfra8p0\lib\configparser.py", line 960, in __getitem__
    raise KeyError(key)
KeyError: 'ALL CARE HEALTH SOLUTIONS'

中的示例就是这样做的。

错误消息到底是什么?编辑:添加了错误消息。这是因为我试图为configparser字典编制索引。除了初始化
config[each]
,我怀疑您是否可以将
pharmacy\u settings['facility\u alias']
之类的系列分配到config键中。从
pharmacy\u settings
中复制粘贴一些样本行会有所帮助。这是问题的一部分,但也是因为我正试图用[each]设置变量并将它们设置为一系列,如“药房设置”。
for each in pharmacy_settings['facility_name']:
    config[each] = {}
    config[each]['facility_alias'] = pharmacy_settings['facility_alias']
    #...