我的代码将从csv文件读取并执行多个操作/计算,然后创建另一个csv文件,我有8个文件夹可以读取/写入,我希望我的代码逐个遍历它们
假设我有名为Folder1 to Folder8的文件夹,首先我如何指定我的代码从不同的目录中读取而不是python脚本存在的默认目录?
这是我的代码的一部分
#read the columns from CSV
MAXCOLS = Number_Of_Buses + 1
Bus_Vol = [[] for _ in range(MAXCOLS)]
with open('p_voltage_table_output.csv', 'rb') as input:
for row in csv.reader(input, delimiter=','):
for i in range(MAXCOLS):
Bus_Vol[i].append(row[i] if i < len(row) else '')
for i in xrange(1,MAXCOLS):
dummy=0
#print('Bus_Vol[{}]: {}'.format(i, Bus_Vol[i]))
我希望能够指定目录文件夹到folder1,并且还可以遍历folder1到folder8,它们都具有相同名称的相同csv文件
答案 0 :(得分:1)
要读取脚本所在目录以外的目录,需要为python提供目录的绝对路径。
Windows样式:c:\ path \ to \ directory
* nix样式:/ path / to / directory
在任何一种情况下,它都是一个字符串。
您没有指定目标文件夹是否在同一目录中。如果是,那就更容易了。
import os
path_to_parent = "/path/to/parent"
for folder in os.listdir(path_to_parent):
for csv_file in os.listdir(os.path.join(path_to_parent, folder)):
# Do whatever to your csv file here
如果您的文件夹分散在您的系统上,那么您必须提供每个文件夹的绝对路径:
import os
paths_to_folders = ['/path/to/folder/one', '/path/to/folder/two']
for folder in paths_to_folders:
for csv_file in os.listdir(folder):
# Do whatever to your csv file