尝试完成以下
每隔几秒钟,让python拉取unicode JSON数据(这样做很精细)
保存一个json数据项,在桌面上打开该CSV文件,清除它,写入并关闭它(这就是问题 - CSV文件存储更新)
Matlab将读取文件处理(WORKS FINE)
返回第1步
我正在尝试的方式
MATLAB代码:
system('python /weather.py');
load_weather_matlab();
if final_weather > 30
disp ('sunny')
else
disp ('not sunny')
PYTHON CODE:
r = requests.post(api_url + 'days', json=day, auth=auth)
print r.json()
r_output = r.json()
weather = r_output['weatherA']
print weather
with open(CSV_FILE, "w+") as fp:
fp.close()
with open(CSV_FILE, "a") as fp:
fp.write("%s" % (weather))
fp.close()
MATLAB FUNCTION load_weather_matlab:
function [success] = load_weather_matlab();
global final_weather
load_weather(); % Import the CSV File
weather_temperature = transpose(weather_temperature);
final_weather = weather_temperature (1);
success = 1;
end
MATLAB FUCTION load_weather:
filename = '/Users/m/Desktop/CSV_FILE';
delimiter = ',';
formatSpec = '%f[^\n\r]';
fileID = fopen(filename,'r');
dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'EmptyValue' ,NaN, 'ReturnOnError', false);
fclose(fileID);
weather_temperature = dataArray{:, 1};
clearvars filename delimiter formatSpec fileID dataArray ans;
我得到的错误就是这样 1)桌面上的文件CSV_FILE ...停止更新... 2)有时如果python拉出的JSON数据没有“天气”。数据 这可以在MATLAB中看到
Traceback (most recent call last):
File "/Users/m/Desktop/weather.py", line 106, in <module>
weather = r_output['weatherA']
KeyError: 'weatherA'
但是其他时间(在它更新之前)它可以工作。
这可以工作几次,但之后就会停止。我不知道为什么?有时,当“天气”出现时,我会收到KeyError。不在JSON中,但这不应该只是阻止文件更新正确吗?
任何帮助表示赞赏
感谢