Add data export functionality (JSON and CSV)

This commit is contained in:
m1ngsama 2024-12-08 15:45:00 +08:00
parent cb57833561
commit 899cdbc4fa
2 changed files with 41 additions and 0 deletions

1
.gitignore vendored
View file

@ -25,3 +25,4 @@ venv/
.DS_Store .DS_Store
logs/ logs/
*.log *.log
exports/

40
data_exporter.py Normal file
View file

@ -0,0 +1,40 @@
"""
Data export functionality
"""
import json
import csv
from datetime import datetime
class DataExporter:
def __init__(self, output_dir='exports'):
self.output_dir = output_dir
def export_to_json(self, data, filename=None):
"""Export data to JSON format"""
if filename is None:
filename = f"tracker_data_{datetime.now().strftime('%Y%m%d_%H%M%S')}.json"
filepath = f"{self.output_dir}/{filename}"
with open(filepath, 'w') as f:
json.dump(data, f, indent=2)
return filepath
def export_to_csv(self, data, filename=None):
"""Export data to CSV format"""
if filename is None:
filename = f"tracker_data_{datetime.now().strftime('%Y%m%d_%H%M%S')}.csv"
filepath = f"{self.output_dir}/{filename}"
if isinstance(data, list) and len(data) > 0:
keys = data[0].keys()
with open(filepath, 'w', newline='') as f:
writer = csv.DictWriter(f, fieldnames=keys)
writer.writeheader()
writer.writerows(data)
return filepath