Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 写入csv后,我收到错误:_csv.error:应为序列_Python_Python 2.7_Csv - Fatal编程技术网

Python 写入csv后,我收到错误:_csv.error:应为序列

Python 写入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

请帮忙。当我想将dict
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:再次添加
[…]
括号;不支持生成器表达式,列表理解的结果是.for
csv\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])])