使用Python将JSON数据写入CSV文件,并多次重复

2024-06-09 17:32:06 发布

您现在位置:Python中文网/ 问答频道 /正文

努力完成以下任务

  1. 每隔几秒钟,让python提取unicode JSON数据(这很好)

  2. 保存json数据的一项,方法是在桌面上打开CSV文件,清除它,写入文件,然后关闭它(这是问题所在—CSV文件停止更新)

  3. Matlab将读取文件处理它(工作正常)

  4. 返回步骤1

我现在尝试的方式

MATLAB代码:

system('python /weather.py');
load_weather_matlab();

if final_weather > 30
disp ('sunny')
else
disp ('not sunny')

PYTHON代码:

^{pr2}$

MATLAB函数加载气象:

^{3}$

MATLAB功能负载-天气:

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_文件。。。停止更新… 2) 有时,如果python提取的JSON数据没有“weather”数据 这在MATLAB中可以看到

Traceback (most recent call last):
  File "/Users/m/Desktop/weather.py", line 106, in <module>
    weather = r_output['weatherA']
KeyError: 'weatherA'

但其他时候(在它停止更新之前)它是有效的。在

这样做有几次,但后来就停止了。我不知道为什么?有时,当JSON中没有“weather”时,我会得到一个KeyError,但这不应该只是阻止文件更新正确吗?在

有什么帮助吗

谢谢


Tags: 文件csv数据代码pyjsonfilename桌面上