微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Python中将字典写入文本文件,并为字典中的每个元素添加列

如何解决如何在Python中将字典写入文本文件,并为字典中的每个元素添加列

我正在尝试使用Matlab先前生成的工作区来创建输入文本文件,以供另一个程序读取。我可以将工作区作为字典导入到Python中。从这里开始,由于字典中的数据类型和数组大小不同,我很难写入文本文件。我希望字典中的每个字段在文本文件中都有自己的列,但运气不好。 这是从matlab导入的字典的屏幕截图。

enter image description here

我希望文本文件具有这种格式。 (标题不是必需的)

enter image description here

我可以使用以下代码一个变量添加到文本文件中,但不能添加更多变量或具有不同数据类型的变量。

import csv
import scipy.io
import numpy as np
#import json
#import _pickle as pickle
#import pandas as pd

mat = scipy.io.loadmat('Day055.mat')
#print(type(mat))
#print(mat['CC1'])
CC1 = mat['CC1']
CC2 = mat['CC2']
DP1 = mat['DP1']
#print(CC1)
#print(CC2)

dat = np.array([CC1,DP1])
dat =dat.T

#np.savetxt('tester.txt',dat,delimiter = '\t')
np.savetxt('tester.txt',CC1,delimiter = '\t')

'''
with open('test.csv','w') as f:
    writer = csv.writer(f)
    for row in CC1:
        writer.writerow(row)
#print(type(CC1))

#print("CC1=",CC1)
#print("first entry to CC1:",CC1[0])
mat = {'mat':mat}

df = pd.DataFrame.from_dict(mat)
print(df)

print(type(mat))

x=0

with open('inputDay055.txt','w') as file:
    for line in CC1:
        file.write(CC1[x])
        #file.write("\t".join(map(str,CC2))+"\n")
    #file.write(pickle.dumps(mat))
        x=x+1
'''

print("all done")

如您所见,我也尝试了几种不同的方法,但是当我失败时将其注释掉。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。