Я пытаюсь проанализировать каталог из n .xslx файлов и создать .py файл, который является просто dict из первых двух столбцов, но я сталкиваюсь с проблемой, когда с кодом, который у меня есть, он только добавляетпервые рабочие листы из 2 рабочих книг в каталоге.Вот код, который я написал до сих пор
import os
import xlrd
import pandas as pd
import pprint
import json
pp = pprint.PrettyPrinter(indent=4)
def get_did(xlsx, dbd):
dbd = pd.read_excel(xlsx, index_col=0, usecols="A,B").to_dict()
with open("db.py", 'a', newline='') as f:
json.dump(dbd, f, sort_keys=True, indent=4)
path = os.getcwd()
filenames = os.listdir(path)
dbd = {}
for filename in filenames:
if filename.endswith('.xlsx'):
get_did(filename, dbd)
print(dbd)
данные, с которыми я работаю, просто имеют идентификационный номер в первом столбце и строку описания во втором, так что вывод выглядит следующим образом
{
"Description": {
"1": "45KV Suspension Polymer-DE",
"2": "45KV Post Tie Polymer",
"3": "45KV Post Vert SAC Polymer",
"4": "45KV Post Hor SAC Polymer",
"5": "35KV Post Tie",
"6": "35KV Post Vertical SAC",
"7": "45KV Post Vertical SAC",
"8": "35KV Post Horizontal SAC",
...
"72": "69KV Post Hor LAC Polymer",
"73": "69KV Post Vert LAC Polymer",
"74": "69KV Post Vert LAC Poly-Dbl",
"75": "15KV Suspension Polymer",
"76": "15KV Suspension Polymer-DE"
}
}{
"Size": {
"1": "1/4\" EHS",
"2": "5/16\" EHS",
"3": "7/16\" EHS",
"4": "9/16\" EHS",
"5": "1/2\" AW",
"6": "3#7 HS CW",
"7": "7#8 HS CW",
"8": "7#6 EHS CW",
"9": "19#9 EHS CW",
"10": "1/4\" GLV (3#7)"
}
}
В идеале я хотел бы, чтобы в качестве ключа использовалась строка, а в качестве значения - идентификатор, но к новому файлу добавляются правильные столбцы и информация, но не все рабочие листы включены.Я все еще новичок в пандах и рекурсии в целом, поэтому я знаю, что есть фундаментальное понимание того, что является коренной проблемой, но любая помощь в достижении этого понимания будет принята с благодарностью.