Я немного не понимаю, что происходит с этим кодом. Я создаю код Python, который отображает на экране TKInter информацию из файла JSON в определенном диапазоне, эти данные затем можно превратить в файл CSV для работы в Excel или доступе, я использую if alerttime (время в часах) поскольку последнее обновление данных внутри файла JSON) меньше часов ошибок (время, указанное в поле ввода, или 48 по умолчанию), то код делает запись для каждого элемента в основном файле JSONНо вот что странно: он работает идеально везде, кроме экспорта в CSV. дисплей tk, счетчик чисел, все отпечатки, буквально все работает правильно, кроме вывода CSV.
в моем тесте я использую json, содержащий 10 элементов в данных json (реальная жизнь будет 100), и если я введу количество ошибок как 200, я получу (везде) 5 результатов, однако, когда я смотрю на экспортированный файл CSV, я вижу все 10 записей в JSON. если я вручную удалю их в json, чтобы сказать 7, и снова запущу его, я получу 5 записей везде, но все 7 в json записываются в csv
есть идеи, как я могу ограничить это чтобы экспорт CSV экспортировал только правильные данные?
for item in data['People']:
# WarnTimeC is calculated here but the code is irelevent for the problem so ive removed it
# ErrorHours is gathered from an entry box
if WarnTimeC < ErrorHours:
CSVName = 'API_Programs/Output CSV/CSV_Output_' + str(datetime.now().strftime('%d_%m_%Y_%H_%M_%S')) + '.csv'
with open(CSVName, "w", newline="") as file:
csv_file = csv.writer(file)
csv_file.writerow([
'First_Name',
'Last_Name',
'City',
'Job',
'Revenue',
'Last_Update',
'API_CHECK',
])
for item in data['People']:
if WarnTimeC < ErrorHours:
csv_file.writerow([
item['general'].get('FName', 'N/A'),
item['general'].get('LName', 'N/A'),
item['specific'].get('City', 'N/A'),
item['specific'].get('Job', 'N/A'),
item['specific'].get('Revenue', 'N/A'),
item['specific'].get('Update-time', 'N/A').replace("-","/").replace("T"," ").replace("Z",""),
CALLZULU,
])
print("done")
CSVcounter += 1
# sanity check prints
print(ErrorHours)
print(WatnTimeC)
print(CSVcounter)
print(dateTimeDifferenceInHours)
Подробнее здесь: https://stackoverflow.com/questions/781 ... -it-python
CSV экспортирует все данные из JSON, когда мне нужна только часть из них. Питон ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение