dicionário gravação de listas para uma guia delimitado arquivo em python, com dicionário valores chave como colunas sem Pandas

Ahmad Faheem:

o dicionário que estou usando é:

dict={'item': [1,2,3], 'id':['a','b','c'], 'car':['sedan','truck','moped'], 'color': ['r','b','g'], 'speed': [2,4,10]}

Eu estou tentando produzir um guia delimitado posto para fora como tal:

item    id
1       a
2       b
3       c

O código que eu escrevi:

with open('file.txt', 'w') as tab_file:
    dict_writer = DictWriter(tab_file, dict.keys(), delimiter = '\t')
    dict_writer.writeheader()
    dict_writer.writerows(dict)

Especificamente, eu estou lutando com a escrita para o arquivo de uma forma baseada em colunas. Ou seja, que as chaves de dicionário preencher como o cabeçalho, e os valores de dicionário preencher verticalmente por baixo do cabeçalho associado. Além disso, eu não tenho o luxo de usar Pandas

Ruan:

Esta solução irá trabalhar para um número ambígua de itens e subitens do dict:

d = {'item': [1, 2, 3], 'id': [4, 5, 6]}

for i in d:
    print(i + "\t", end="")
    numSubItems = len(d[i])
print()


for level in range(numSubItems):
    for i in d:
        print(str(d[i][level]) + "\t", end="")
    print()



EDIT: Para implementar isso com a gravação de um arquivo de texto:

d = {'item': [1, 2, 3], 'id': [4, 5, 6], 'test': [6, 7, 8]}


with open('file.txt', 'w') as f:
    for i in d:
        f.write(i + "\t")
        numSubItems = len(d[i])
    f.write("\n")

    for level in range(numSubItems):
        for i in d:
            f.write(str(d[i][level]) + "\t")
        f.write("\n")

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=298486&siteId=1
Recomendado
Clasificación