将.mat文件转换为.csv文件,而不是具有多个数组的结构化词典

2024-04-19 04:26:27 发布

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

我正试图从一个存储库中转换大量的.mat文件,该存储库是我签订合同所需的。我们正在使用python,我需要转换我的文件以对它们执行各种统计测试。我试图转换它们,但无法获得前进所需的最佳结果。我需要一个数据帧/表来写入csv文件。。。。 此站点的其他解决方案没有解决将多个数组和结构Format转换为干净的表/csv文件的问题

这是我到目前为止使用的代码

import scipy.io
import pandas as pd
import numpy as np



data = scipy.io.loadmat("C:/Users/jered.willoughby/Desktop/PHM/PK31.mat")
df = pd.DataFrame.from_dict(data, orient='index')#.reset_index()
print(df)

#df.to_csv("C:/Users/jered.willoughby/Desktop/PHM/df.csv", index=False)

for column in df.columns:
    for idx in df[column].index:
        x = df.get_value(idx,column)
        try:
            x = x if type(x) == str else str(x).encode('utf-8','ignore').decode('utf-8','ignore')
            df.set_value(idx,column,x)
        except Exception:
            print('encoding error: {0} {1}'.format(idx,column))
            df.set_value(idx,column,'')
            continue

df.to_csv("C:/Users/jered.willoughby/Desktop/PHM/df.csv", index=False)

输出的格式不正确…应该看起来像一个表。 enter image description here


Tags: 文件csvimportdfindexvaluecolumnscipy