Python 列表中的TypeError csv.reader
我创建了一个名为dict1的文件名列表。请参阅错误消息的示例,了解列表的外观 然后我想通读dict1中的每个文件名,直到所有文件都被处理完毕Python 列表中的TypeError csv.reader,python,list,loops,csv,Python,List,Loops,Csv,我创建了一个名为dict1的文件名列表。请参阅错误消息的示例,了解列表的外观 然后我想通读dict1中的每个文件名,直到所有文件都被处理完毕 # creates dict each containing 5 file names to be processed. list = open("/opt/stateadm/AAM_Scripts/Realtime/file.txt").read() list_words = list.split('\n') dict1 = ('\n'.join(lis
# creates dict each containing 5 file names to be processed.
list = open("/opt/stateadm/AAM_Scripts/Realtime/file.txt").read()
list_words = list.split('\n')
dict1 = ('\n'.join(list_words[0:5]))
print dict1
# for each row in dict (file) open read and publish to Redis
for row in dict1:
dir = '/opt/stateadm/AAM_Scripts/Realtime/outgoing/traits/'
reader = csv.reader(open(dir + dict1(row)))
header = reader.next()
client = redis.StrictRedis(host='XXXXXXXXXXXXXXXXXXXXXXX', port=6379, db=0)
client1 = redis.StrictRedis(host='XXXXXXXXXXXXXXXXXXXXXXX', port=6379, db=0)
client2 = redis.StrictRedis(host='XXXXXXXXXXXXXXXXXXXXXXX', port=6379, db=0)
list1 =(client, client1, client2)
for row in reader:
key = 'AAM_CDF_Traits'
doc = dict(zip(header, row))
random.choice(list1).publish(key, doc)
错误消息:
print dict1
split_bj.csv
split_bi.csv
split_bh.csv
split_bg.csv
split_bf.csv
Traceback (most recent call last):
File "./AAM_Redis6.sh", line 32, in <module>
reader = csv.reader(open(dir + dict1(row)))
TypeError: 'str' object is not callable
我不知道为什么我会犯这样的错误。我只想将目录附加到Dict1中的每个行文件名,并通读每个行文件名。Dict1是单个字符串,而不是列表或字典。您正试图将其用作dict1row的函数
您可能只想在原始列表上循环:
for row in list_words[0:5]:
reader = csv.reader(open(dir + row))
非常感谢你!我明白为什么我会犯那个错误了。谢谢你的解释。