我有一些逗号分隔的字符串如下:
filename1,12345,ABC
filename2,6789,CDE
filename3,999,GHI
...
etc.
Run Code Online (Sandbox Code Playgroud)
我想从这些数据构建一个字典,使用第一列(文件名)作为键,其余数据作为属性列表(可能是大小,最后访问日期等),如
{'filename1': ['12345','ABC'], 'filename2': ['6789','CDE'], 'filename3':['999','GHI']}
Run Code Online (Sandbox Code Playgroud)
数据不包括标题行,每行是一个内置代码的csv-string,而不是从文件中读取.
我试过这样的事情:
import csv
s = """
filename1,12345,ABC
filename2,6789,CDE
filename3,999,GHI
"""
reader_list = csv.DictReader(s.splitlines())
for row in reader_list:
print row
Run Code Online (Sandbox Code Playgroud)
返回这个:
{None: ['filename1', '12345', 'ABC']}
{None: ['filename2', '6789', 'CDE']}
{None: ['filename3', '999', 'GHI']}
Run Code Online (Sandbox Code Playgroud)
但我想不出用文件名创建密钥的方法.
任何提示?
这是一个简单的解决方案:
import csv
lines = """filename1,12345,ABC
filename2,6789,CDE
filename3,999,GHI"""
dic = {}
for row in csv.reader(lines.split("\n")):
dic[row[0]] = row[1:]
print(dic)
Run Code Online (Sandbox Code Playgroud)