优化这段代码 for device in resp.Results: s= json.loads(str(device)) time1 = timestamp_to_datetime(int(s['Time'])) valve1 = s['Value'] str1 = str( "{} ,播报状态, Time={}, Value={}\r\n".format(DeviceName,time1,valve1)) test_str += str1 path1 = os.getcwd() # 获取当前工作目录路径 try: f = open(path1+"\\test.txt","r",encoding="utf-8") json_data = json.load(f) aa = pd.DataFrame(json_data) aa aa.to_excel("./ceshi(1).xlsx",sheet_name="测试",encoding="utf-8") except Exception as e: print("---打开异常---", e)
时间: 2024-02-10 10:22:25 浏览: 250
RESP.app GUI for Redis离线安装包下载
可以对代码进行以下优化:
1. 将字符串拼接方式改为使用join()方法,因为join()方法比直接使用“+”号拼接字符串更加高效。
2. 将读取文件和写入Excel文件的操作放入try-except语句块中,以便捕获相关异常。
3. 将读取文件和写入Excel文件的操作放在代码块外部,以便在循环外部只需要执行一次。
4. 将json.loads()方法改为直接使用resp.json()方法获取JSON格式数据,因为resp.json()方法已经自带了解析JSON数据的功能。
下面是优化后的代码:
```
path1 = os.getcwd() # 获取当前工作目录路径
test_str_list = []
try:
with open(path1 + "\\test.txt", "r", encoding="utf-8") as f:
json_data = json.load(f)
aa = pd.DataFrame(json_data)
aa.to_excel("./ceshi(1).xlsx", sheet_name="测试", encoding="utf-8")
except Exception as e:
print("---打开异常---", e)
for device in resp.Results:
s = device.json()
time1 = timestamp_to_datetime(int(s['Time']))
valve1 = s['Value']
str1 = "{} ,播报状态, Time={}, Value={}\r\n".format(DeviceName, time1, valve1)
test_str_list.append(str1)
test_str = ''.join(test_str_list)
```
阅读全文