在Python中将ppsd绘图另存为csv文件

2024-06-16 12:44:57 发布

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

我有这个密码:

from obspy.core import read
from obspy.io.xseed import Parser
from obspy.signal import PPSD
from obspy.imaging.cm import pqlx
import glob

#read mseed data
for data in glob.glob("F:/SKRIPSI/MSEED/*.mseed"):
    st=read(data)
    tr=st.select()[0]

    #read dataless
    for dataless in glob.glob("F:/SKRIPSI/MSEED/*.dseed"):
        if (data.rsplit(".", 1)[0])==(dataless.rsplit(".", 1)[0]):
            parser=Parser(dataless)

            #plot ppsd
            ppsd=PPSD(tr.stats, metadata=parser)
            ppsd.add(st)
            ppsd.plot(filename=(data.rsplit(".", 1)[0]) + "_01_PPSD.png")
            ppsd.plot(filename=(data.rsplit(".", 1)[0]) + "_02_PPSD cumulative.png", cumulative=True)
            ppsd.plot(filename=(data.rsplit(".", 1)[0]) + "_03_PPSD pqlx.png", cmap=pqlx)
            ppsd.plot_spectrogram(filename=(data.rsplit(".", 1)[0]) + "_04_PPSD spectrogram.png",show=False)
            ppsd.plot_temporal([0.1, 1, 10],filename=(data.rsplit(".", 1)[0]) + "_05_PPSD temporal.png",show=False)

我想把这部分(如下所示)保存到csv文件中。我试着把png转换成csv,并且使用了.savetxt但是没那么容易,对吧。。。我对这些编码都是新手。请帮忙?你知道吗

ppsd.plot_temporal([0.1, 1, 10],filename=(data.rsplit(".", 1)[0]) + "_05_PPSD temporal.png",show=False)

我也试过用熊猫,但没用:

import pandas as pd    

temp=ppsd.plot_temporal([0.1, 1, 10],filename=(data.rsplit(".", 1)[0]) + "_05_PPSD temporal.png",show=False)
csvtemp=pd.DataFrame(temp)
csvtemp.to_csv((data.rsplit(".", 1)[0]) + "_05_PPSD temporal.csv", index=False, header=False)

没有错误,但csv文件为空。你知道吗

谢谢!你知道吗


Tags: csvfromimportfalsereaddataplotpng