繁体   English   中英

如何从字典 Python 中获取值中的所有数组项

[英]How to get all array items in values from dictionary Python

我想将字典中的所有键和值保存为 txt 文件:

f=open("output.txt","w") 
for keys,values in pred_x.items(): 
    s=str(keys)+" "+str(values)+"\n" 
    b=f.write(s) 
f.close()

但是,值中数组的大小大于 3000,输出为:

dict_values([array(['Q1', 'Q5', 'Q9', ..., 'Q3001', 'Q3012', 'Q3015'], dtype='<U5'), array([[11319,  3884,  9555, ..., 14079,     0,     0]

如何在没有“...”的情况下获取数组的完整大小?

更新:我尝试使用 csv 文件作为:

with open("dict.csv", "w") as csv_file: 
    writer = csv.writer(csv_file)
    for key, value in test_x.items():
       writer.writerow([key, value])

并且 csv 输出仍然显示数组中的项目不足: 在此处输入图片说明

以下

这个想法是将 np 数组转换为 python 列表

import csv

import numpy as np

test_x = {'key1': np.array([1, 2, 3])}

with open("dict.csv", "w") as csv_file:
    writer = csv.writer(csv_file)
    for key, value in test_x.items():
        writer.writerow([key, value.tolist()])

Pandas 可以让它变得更快更容易

import pandas as pd

dict_items = {'key':'value'}

data = pd.Series(dict_items)
data.to_csv('data.csv', header=False) # write mode default 'w'

编辑:

要将文件保存为.txt并使用sep=' '使用上面的 'data.txt' 替换 'data.csv' 并指定分隔符= ' '

data.to_csv('data.txt', sep=' ', header=False)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM