我有一个包含三列和多行的 CSV 文件。所有数据都是字符串。我正在尝试一次读取 CSV 一行并将每一行转换为一个字典,然后我想将其附加到一个列表中,这样我就有了一个字典列表。环境是 AWS Lambda,CSV 来自 S3 存储桶。
我的代码:
csv_object = s3.Object('MyBucket', 'My.csv')
csv_file = csv_object.get()['Body'].read().decode('utf-8')
f = StringIO(csv_file)
reader = csv.reader(f, delimiter=',')
list_of_json = []
mydevice = {}
for row in reader:
mydevice["device"] = row[0]
mydevice["serial"] = row[1]
mydevice["software"] = row[2]
list_of_json.append(mydevice)
软件运行(即,不出错),但没有产生预期的结果。如果我print(list_of_json)在 for 循环完成后,我希望它产生这个;
[{"device":"Dev1", "serial":"Ser1", "software":"software1"},{.....}]
但实际上产生的只是一个空列表......好像 append 语句甚至不存在;
[]
CSV 读数和for row in reader:部件似乎都工作正常。如果我在 for 循环中执行 print(mydevice) ,我可以看到它成功通过所有设备,但由于我无法理解的原因,append 语句似乎永远不会将任何内容附加到list_of_json列表中。
一只萌萌小番薯
jeck猫
相关分类