Python 写入csv后,我收到错误:_csv.error:应为序列
请帮忙。当我想将dictPython 写入csv后,我收到错误:_csv.error:应为序列,python,python-2.7,csv,Python,Python 2.7,Csv,请帮忙。当我想将dictAllListInstance写入csv文件时,我遇到了一个错误。这是我的代码: AllListInstance= {frozenset(['OFFENSE INVOLVING CHILDREN']): [(95,), (96,), (35,), (80,), (100,)], frozenset(['BATTERY', 'THEFT']): [(173, 209), (173, 224)]} with open('test1.csv', 'wb') as csv_fi
AllListInstance
写入csv文件时,我遇到了一个错误。这是我的代码:
AllListInstance= {frozenset(['OFFENSE INVOLVING CHILDREN']): [(95,), (96,), (35,), (80,), (100,)], frozenset(['BATTERY', 'THEFT']): [(173, 209), (173, 224)]}
with open('test1.csv', 'wb') as csv_file:
for key in AllListInstance.keys():
csv_writer = csv.writer(csv_file)
csv_writer.writerow(len(AllListInstance[key]))
for y in range(len(key)):
csv_writer.writerow([x[y] for x in key])
csv_writer.writerow(x[y] for x in AllListInstance[key])
预期产出:
5 # len(AllListInstance["OFFENSE INVOLVING CHILDREN"]) count of member
OFFENSE INVOLVING CHILDREN
95
96
35
80
100
2 # len(AllListInstance['BATTERY','THIEF']) count of member
BATTERY THIEF
173 209
173 224
错误:
csv_writer.writerow(len(AllListInstance[key]))
_csv.Error: sequence expected
我的预期输出的解决方案:
with open('test8.csv', 'wb') as csv_file:
for key in AllListInstance.keys():
csv_writer = csv.writer(csv_file)
csv_writer.writerow([len(key),len(AllListInstance[key])])
csv_writer.writerow(list(key))
for x in AllListInstance[key]:
csv_writer.writerow(list(x))
您正在传入一个整数:
这不是一个序列,这是csv\u writer.writerow()
所期望的。如果要使用长度值写入一列,请将其包装在列表中:
csv_writer.writerow([len(AllListInstance[key])])
下一个错误是:
csv\u writer.writerow(x[y]代表键中的x)\u csv.error:预期的序列
@ErnaPiantari:再次添加[…]
括号;不支持生成器表达式,列表理解的结果是.forcsv\u writer.writerow([x[y]代表键中的x])
我的预期输出是打印字符串涉及儿童的攻击
,但使用我的代码,输出仅是第一个字符O
。你能给我一些建议吗?为什么不直接使用csv\u writer.writerow(key)
?不需要在那里循环。您可以使用csv\u writerows写入每个键的值。writerows(AllListInstance[key])
AllListInstance.values()
已冻结设置。当我打印csv\u writer.writerow(键)
时,输出是frozenset(['BATTERY','teft'])
。我想将电池和电池分开,并打印到不同的结肠。
csv_writer.writerow([len(AllListInstance[key])])