我有一个函数,可以从用户获取数据集中每个错误列名称的用户输入。
例如,如果主数据集的列名称为X,Y,Z,而子数据集的列名称为A,B,C。我让用户输入正确的名称以使其与主数据匹配。我将每个错误的名称保存为键,将正确的名称保存为字典中的值,如下所示:
{"A":"X", "B":"Y", "C":"Z"}
我将该字典另存为json文件。我不希望用户在以后再次运行代码时输入他们早些时候已经输入的相同名称,并且它应该引用我们先前创建的字典的引用。
我能够在第一次运行时创建字典,但是我不知道如何在下一轮中检查字典以及如何首先从字典中获取引用。
答案 0 :(得分:1)
这是一个完整的示例。第一部分是将字典写入JSON文件。第二部分是当您要加载该JSON文件并稍后重命名列时。
import json
import pandas as pd
json_file = "/Users/jkornblum/Desktop/cols.json"
df = pd.DataFrame(columns=["A", "B", "C"])
# You would return col_map from your function that accepts user input
col_map = {"A":"X", "B":"Y", "C":"Z"}
# Write column map to disk
with open(json_file, 'w') as outfile:
json.dump(col_map, outfile)
# Read the column map and apply
col_map = None # Clear col_map for example
with open(json_file, 'r') as infile:
col_map = json.load(infile)
# rename the dataframe columns
df = df.rename(columns=col_map)