from csv import reader
d = {}
with open('infile.csv', newline='') as f:
r = reader(f)
for row in r:
if not row:
continue # Handles blank rows
key1, key2, *value = row
d[(key1, key2)] = value
res = {}
with open(fileName.csv, "r") as f:
text = f.readlines()
for line in text[1:]:
part = line.strip().split(",")
key = ",".join(part[:2])
value = [int(i) for i in part[2:]]
res[key] = value
as_dict = {'{}, {}'.format(*row[:2]): row[2:] for row in reader if row}
测试代码:
data = StringIO(''.join('\n'.join(x.strip() for x in u"""
A,222,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1
B,223,1,1,1,1,0,0,0,1,1,0,0,1,1,1,1,1
""".split('\n')[1:-1])))
reader = csv.reader(data)
as_dict = {'{}, {}'.format(*row[:2]): row[2:] for row in reader if row}
print(as_dict)
下面是一个使用^{} 的解决方案
编辑:
行
key1, key2, *value = row
只能在python3中使用。如果该功能对您不可用,您可以使用你是这个意思吗?你知道吗
使用csv.reader文件你可以这样做:
代码:
测试代码:
结果:
相关问题 更多 >
编程相关推荐