从shapefile
我创建了一些csv files
,但我不知道每次会创建多少个csv files
。 road_1
的名称为road_2
,road_1
等。
在这些文件中,我有坐标。我想把每个csv文件的坐标放在列表中。
因此对于x_1, y_1, z_1
我想要3个列表:
x_2, y_2, z_2
对于road_2:
list+'_'+i
等。
我试着在循环中命名列表,在那里我得到了这个坐标:Sub Button1_Open()
Button1.OnClick MsgBox("Tester")
End Sub
我在迭代创建的文件数,但是我无法连接列表和字符串。
**
**
好的,有些人认为这个主题是重复的,足够公平。但只是说我必须使用一个字典并不能回答我的所有问题。我曾想过使用一个字典,但我的主要问题是创建名称(列表的名称,或者是字典的关键字)。我必须在一个循环中创建它,不知道我必须创建多少。因此,列表(或键)的名称应该有一个变量,该变量必须是道路的编号。而且我在这里遇到了问题。
正如我之前所说,在我的循环中,我尝试使用迭代循环中的变量来命名我的列表,但这不起作用,因为它不可能用字符串连接列表。我可以使用许多空键创建一个空的词典:值对,但我仍然需要通过循环中的键名来添加dict中csv文件的值。
答案 0 :(得分:2)
由于多次询问我不会编写代码但只指向正确的方向(可能采用不同的方法)。
使用将返回文件名的glob模块。类似的东西:
import glob
for csvFileNames in glob.glob("dir/*.csv"):
会将每个文件名返回到变量csvFileNames
。
然后,您只需使用以下内容打开csv Files
:
with open(csvFileNames, "r") as filesToRead:
for row in filestoRead:
#the structure of you csv File is unknown so cannot say anything here
然后很简单。找到您感兴趣的列,并使用您需要的变量作为键创建一个dicts。使用计数器递增。所有信息都在那里!