使用列值作为输出路径位置python

nszi6y05  于 2022-12-17  发布在  Python
关注(0)|答案(1)|浏览(129)

如果我有几列要输出,是否可以?如果我想使用第3列作为输出文件的存储位置,下面的main_folder包含folder1、folder2、folder3

C:/Desktop/main_folder/
file.txt

Bob   November  folder_1
Jon   January   folder_3
Sam   December  folder_1
Jane  April     folder_2
path = /Desktop/main_folder/*
with open('file.txt', 'r') as input:
    for lines in input:
        line = line.strip()
        with open(output, 'w') as outfile:
            outfile.write(line, path)

是否可以只选择第3列并使用该路径作为输出?

juzqafwq

juzqafwq1#

试试这个

with open('file.txt', 'r') as input:
    for line in input:
        columns = line.strip().split()  # split line into columns using spaces as delimiter
        path = os.path.join('/Desktop/main_folder', columns[2])  # path is built from main-folder and third column
        with open(path, 'w') as outfile:
            outfile.write(line)  # write the line to it's respective file path

逐步说明

1.此代码读取输入文件的每一行
1.然后使用split()方法将其拆分为列。
1.它获取第三列(索引2),并使用os.path.join()将其与基本路径/Desktop/main_folder组合,以创建完整的输出路径。
1.最后,它打开指定路径下的输出文件,并将原始行写入其中。
注意:此代码假定输入文件采用您提供的格式,列之间用空格分隔。如果列之间用不同的字符分隔,则需要使用不同的方法将行拆分成列。
参见:python 3.x -使用pathlib创建新文件夹并将文件写入其中

相关问题