Python3 превращает файл в словарь ValueError: недостаточно значений для распаковки (ожидается 2, получено 1) - PullRequest
0 голосов
/ 26 ноября 2018

Моя проблема в том, как преобразовать текстовые файлы в словари. Это мой код.И я получил ошибку ValueError: недостаточно значений для распаковки (ожидается 2, получил 1)

И это текстовый файл

filename = ("/users/Reza/Downloads/anyar.txt")

commands = {}
with open(filename) as fh:
for line in fh:
    command, description = line.strip().split(' ', 1)
    commands[command] = description.strip()

print(commands)

простите мой английский. Спасибо

Диктофонный вывод кодирования должен выглядеть следующим образом:

1 Ответ

0 голосов
/ 26 ноября 2018

Вы получили ошибку, потому что в первой строке данных не было пробела и данные должны быть разделены на / не пробел.чтобы получить ожидаемый результат, вы можете использовать приведенный ниже пример кода.

import re
filename = ("input_file.txt")
has_header = True
count = 1
commands = {}
with open(filename) as fh:
    for line in fh:
        if has_header == True and count == 1:
            count+=1
            continue
        nama, id, Jumlah = line.strip().split('/')
        commands['nama'] = commands.get('nama','') + nama.split('.')[1] + ','
        commands['id'] = commands.get('id','') + id.split(':')[1] + ','
        commands['Jumlah'] = commands.get('Jumlah','') + Jumlah.split(':')[1] + ','

print(commands)

Пример вывода:

{'nama': 'Detergent ,Sabun Mandi ,Pasta gigi ,', 'id': 'B001 ,B002 ,B003 ,', 'Jumlah': '500,300,400,'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...