【发布时间】:2022-01-20 17:43:23
【问题描述】:
我的目标是从几个文件的内容中创建几个列表。过去,我在循环内部使用 '{}'.format(x) 作为更改循环内部路径以匹配循环正在处理的列表中的任何项目的方法。现在我想将其扩展到附加到循环外的列表。这是我目前使用的代码。
import csv
import os
c3List = []
c4List = []
camList = []
plantList = ('c3', 'c4', 'cam')
for p in plantList:
plantFolder = folder path
plantCsv = '{}List.csv'.format(p)
plantPath = os.path.join(plantFolder, plantCsv)
with open(plantPath) as plantParse:
reader = csv.reader(plantParse)
data = list(reader)
'{}List'.format(p).append(data)
但这给了我 AttributeError: 'str' object has no attribute 'append'
如果我尝试制作这样的变量
pList = '{}List'.format(p)
pList.append(data)
我得到同样的错误。任何意见,将不胜感激。我正在使用 Python 3。
【问题讨论】:
-
str.format()返回一个没有.append()的字符串。您不能简单地通过创建其名称的字符串来引用变量 -
我希望它第一次循环通过它以获取 c3List.csv 中的项目并将其添加到 c3List,然后 c4List.csv 并添加到 c4List,然后 camList.scv 并添加到 camList。我会查看您提供的变量链接,看看我能找到什么。
-
这能回答你的问题吗? How do I create variable variables?
标签: python-3.x list loops format append