我正在使用Python 2.7,我正在尝试开发一个能够读取csv文件并为每列创建空列表的函数。换句话说,使用索引迭代器来连接' col'使用迭代器,从而为每列创建唯一的空列表,例如空列表名为col1,col2,col3,col4等。我的问题:
SyntaxError: can't assign to function call
从最后一行开始:
my_file = open( r'{}'.format( file_path ) )
for i, line in enumerate( my_file ):
if i >= 1:
row = line.split( ',' )
col_N = len( line.split( ',' ) )
for i in range( 0, col_N ):
j = i + 1
'col{}'.format( j ) = []
答案 0 :(得分:1)
此
'col{}'.format( j )
是一个字符串。不是变量。您无法为其分配值。
将你的dinamic变量添加到全局变量:
globals()['col{}'.format(j)] = []
然后定期使用您提供的名称,或者如果j是dinamic,则使用globals()['col{}'.format(j)]
。
答案 1 :(得分:1)
如果您不希望这些新变量必须进入全局命名空间,您可以使用exec:
exec('col{}'.format( j ) + '= []')