有人可以建议我如何将此代码应用于一个文件夹中的多个csv吗?然后,将修改后的csv保存到另一个文件夹,并分别保存?简而言之,我需要使其自动化。
我需要自动加载csv文件,执行代码,保存新修改的csv文件,然后将其重复到文件夹中的下一个csv文件。
answer.begin() + getNumber(answer, nums[i])
代码本身正常工作。谢谢您的建议。
答案 0 :(得分:0)
您要使用os.listdir()
查找目录的内容,然后在新函数中参数化文件路径。然后,您可以遍历通过os.walk()
检索的目录列表,并为每个目录运行该功能。
import os
def run(file_directory):
filelist = os.listdir(file_directory)
for path in filelist:
df = pd.read_csv(path,delimiter=";")
# etc.
df.to_csv(os.path.join(file_directory, 'output.csv'))
如果需要创建新目录,可以使用os.mkdir(newpath)
答案 1 :(得分:0)
最简单的方法是使用glob。只需根据您的要求提供folder_path和output_path,然后使用下面的示例代码。我对代码进行了注释,以帮助您理解代码。
import os
import glob
folder_path = 'path/to/folder/' # path to folder containing .csv files
output_path = 'path/to/output/folder/' # path to output folder
for file in glob.glob(folder_path + '*.csv'): # only loads .csv files from the folder
df = pd.read_csv(file, delimiter=";") # read .csv file
# Do something
df.to_csv(output_path + 'modified_' + str(os.path.basename(file)), encoding='utf-8', index=False) # saves modified .csv file to output_path
答案 2 :(得分:0)
您还能建议如何对函数进行参数化吗?