优化一下:import uuidimport pandasimport timeimport osimport tkinterfrom tkinter import filedialogvpath = ospathjoinbooksjsonroot = tkinterTkrootwithdrawprintBMDB v001while True data = pandasread_jsonos
import uuid import pandas as pd import time import os import tkinter from tkinter import filedialog
vpath = os.path.join("books.json") root = tkinter.Tk() root.withdraw() print("BMDB v0.0.1")
def add_data(): name = input("Input name: ") uuidnow = uuid.uuid1() print("Name: ", name, "UUID: ", uuidnow) ldata = data.to_dict(orient="records") ldata.append({"name": name, "uuid": uuidnow, "time": time.time()}) data = pd.DataFrame(ldata) vjson = data.to_json(path_or_buf=vpath, orient='records', default_handler=str) return data
def delete_data(): ldata = data.to_dict(orient="records") data["time"] = data["time"].apply(lambda x: time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(x))) print(data) deleteitem = input("Delete item number: ") del ldata[int(deleteitem)] data = pd.DataFrame(ldata) data["time"] = data["time"].apply(lambda x: time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(x))) print(data) vjson = data.to_json(path_or_buf=vpath, orient='records', default_handler=str) return data
def list_data(): data["time"] = data["time"].apply(lambda x: time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(x))) print(data)
def export_data(): file_path = filedialog.asksaveasfilename(defaultextension='.xlsx',filetypes=[('Excel 工作表(*.xlsx)','.xlsx')]) data.to_excel(str(file_path), index=False) print("File saved to: ",file_path)
while True: data = pd.read_json(os.path.dirname(os.path.abspath(file)) + '\books.json') command = input("BMDB>") if command == "help": print("""help: open this help page. add: add data. del: delete data. list: list data in this sheet. export: export this sheet as a xlsx file. quit: quit this program.""") if command == "add": data = add_data()
if command == "del":
data = delete_data()
if command == "list":
list_data()
if command == "export":
export_data()
if command == "quit":
print("Bye")
exit()
原文地址: https://www.cveoy.top/t/topic/i3tF 著作权归作者所有。请勿转载和采集!