如何用逗号分隔两个值

2024-10-01 02:32:23 发布

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

在像这样的文件中:

 jaslkfdj,asldkfj,,,
 slakj,aklsjf,,,
 lsak,sajf,,,

你们怎么能把它拆分成只有两个单词的键值对呢?我试着用逗号分割,但我知道如何生成键/值对的唯一方法是当一行中只有一个逗号时。在

python给出了一个错误:“ValueError:太多的值无法解包(预期为2)”,因为每行末尾多了3个逗号

这就是我所拥有的:

^{pr2}$

Tags: 文件方法错误单词键值逗号末尾valueerror
3条回答
with open('file.csv', 'r') as wd:
    newdict = dict(line.split(",")[:2] for line in wd.read().splitlines())

print newdict

结果如下:

{' jaslkfdj': 'asldkfj', ' lsak': 'sajf', ' slakj': 'aklsjf'}

尝试对前两个值进行切片:

"a,b,,,,,".split(",")[:2]

很好地总结了this answer中的切片表示法。在

似乎你更可能尝试的是:

>>> line = 'jaslkfdj,asldkfj,,,'
>>> key, value = line.split(',')
ValueError: too many values to unpack (expected 2)

有两种方法可以解决这个问题。在

首先,可以拆分,然后只取前两个值:

^{pr2}$

或者可以使用maxsplit参数:

>>> line = 'jaslkfdj,asldkfj,,,'
>>> key, value = line.split(',', 1)

第二个命令将在value的末尾留下额外的逗号,但这很容易修复:

^{4}$

相关问题 更多 >