我有一个CSV文件,其结构如下:
Store, Region, District, MallName, Location
1234,90,910,MallA,GMT
4567,87,902,MallB,EST
2468,90,811,MallC,PST
1357,87,902,MallD,CST
我通过反复的眉头敲打可以得到这样的格式:
^{2}$下面的代码被分解为与我提供的示例数据集相匹配,但是您可以了解发生了什么。再次强调,这是一个非常迭代和非Python式的,我也在努力朝这个方向发展。(如果有人觉得定义的程序值得发布,我可以)。在
#************
# Main()
#************
dictHierarchy = {}
with open(getFilePath(), 'r') as f:
content = [line.strip('\n') for line in f.readlines()]
for data in content:
data = data.split(",")
myRegion = data[1]
myDistrict = data[2]
myName = data[3]
myLocation = data[4]
myStore = data[0]
if myRegion in dictHierarchy:
#check for District
if myDistrict in dictHierarchy[myRegion]:
#checkforStore
dictHierarchy[myRegion][myDistrict].update({myStore:addStoreDetails(data)})
else:
#add district
dictHierarchy[myRegion].update({myDistrict:addStore(data)})
else:
#add region
dictHierarchy.update({myRegion:addDistrict(data)})
with open('hierarchy.json', 'w') as outfile:
json.dump(dictHierarchy, outfile)
强迫症我看了上面的JSON输出,认为对于一个盲目打开文件的人来说,它看起来像是一个hodge podge。对于纯文本的可读性,我希望对数据进行分组并将其转换为JSON格式,如下所示:
{"Regions":[
{"Region":"90", "Districts":[
{"District":"910", "Stores":[
{"Store":"1234", "name":"MallA", "location":"GMT"}]},
{"District":"811", "Stores":[
{"Store":"2468", "name":"MallC", "location":"PST"}]}]},
{"Region":"87", "Districts":[
{"District":"902", "Stores":[
{"Store":"4567", "name":"MallB", "location":"EST"},
{"Store":"1357", "name":"MallD", "location":"CST"}]}]}]}
长话短说,我今天浪费了相当长的时间来整理如何在Python中实际填充数据结构,但最终却一无所获。有没有一种干净的,Python式的方法来达到这个目的?这样的努力值得吗?在
我为您的输入添加了标题,如:
然后使用python csv reader和group by,如下所示:
^{pr2}$相关问题 更多 >
编程相关推荐