如何使用python从目录创建新的csv文件?

多美克

我有一些已使用此代码过滤的 csv 文件,并且可以正常工作:

with open('path' , 'r')as f:
            for lines in f:
                if '2020-12-31' in lines:
                    line_data = lines.split(';') 
                    filtered_list.append(line_data)
                    newfile.write(lines)

首先,我想这样做,但对于我文件夹中的所有 csv 文件。

其次,如果可能的话,我想在提示命令行中执行此操作(使用 sys?)。

我试过:

import os 
from os import walk
from pathlib import Path

dir = r'myPathFolder1' 
target = r'myPathFolder2'
 
filtered_list=[]
for filenames in os.listdir(dir):
    for f in filenames:
        if f.endswith(".csv"):
            newfile = open(dir + f, 'w')
            with open(f , 'r') as t:
                for lines in t:
                    if '2020-12-31' in lines:
                        line_data = lines.split(';') 
                        filtered_list.append(line_data)
                    newfile.write(lines)

但它不起作用。

弗雷德里克·张

完整的代码是,我尝试了我的代码,它将复制到另一个文件夹。

import os,fnmatch

dir = "C:\\Users\\Frederic\\Desktop\\"
def find(pattern, path):
    result = []
    for root, dirs, files in os.walk(path):
        for name in files:
            if fnmatch.fnmatch(name, pattern):
                result.append(os.path.join(root, name))
    return result
filtered_list = find('*.csv', dir)
print(filtered_list)

for filenames in filtered_list:
    print(filenames)
    for f in filtered_list:
        if f.endswith(".csv"):
            print(f.endswith(".csv"))
            base_dir_pair = os.path.split(f)

            address = "C:\\Users\\Frederic\\Desktop\\aa\\"
            address = address + base_dir_pair[1]
            print(address)
            newfile = open(address, 'w')
            with open(f, 'r') as t:
                print("in1")
                for lines in t:
                    print("in2")
                    if '2020-12-31' in lines:
                        print("in3")
                        line_data = lines.split(';')
                        filtered_list.append(line_data)
                        newfile.write(lines)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章