有人能告诉我Python的新版本我做错了什么吗

2024-09-28 01:32:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我的要求是查看一个文件夹,并将其中的csv文件合并到一个文件夹中。csv文件是一致的,但不能只是连接。我只对行中第一个元素是日期的行感兴趣,否则我需要放弃该行

到目前为止,我所取得进展的代码如下所示,与往常一样,该代码不起作用:

import os
import csv
from dateutil.parser import parse

def datecheck(string):
    try:
        parse(string)
        return True
    except ValueError:
        False


file_ext = "csv"
os.chdir ("C:\\BANK_PROJECT\\FILES\\RAW_SOURCE_FILES")

file_list = os.listdir("C:\\BANK_PROJECT\\FILES\\RAW_SOURCE_FILES")

with open("outfile.csv", "w") as outfile:
    print(file_list)
    for file in file_list:
        if file.__contains__(".csv"):
            with open(file, 'r') as infile:
                data = csv.reader(infile)
                for row in data:
                    if len(row) > 0:
                        if datecheck(row[0]):
                            outfilewriter = csv.writer(outfile)
                            outfilewriter.writerows(row)
                    else:
                        continue

Tags: 文件csv代码import文件夹stringifparse
1条回答
网友
1楼 · 发布于 2024-09-28 01:32:13
import csv
from glob import glob
from dateutil.parser import parse


def datecheck(string):
    try:
        parse(string)
        return True
    except ValueError:
        False


files = glob('*.csv')

with open('outfile.csv', 'w') as outfile:
    writer = csv.writer(outfile)
    for file in files:
        with open(file) as infile:
            reader = csv.reader(infile)
            data = [row for row in reader if datecheck(row[0])]
            writer.writerows(data)

输入文件1:

new,1,2,3
2012-01-19 17:21:0,1,2 ,3
2012-01-19,1,2,3
xx,2,3,4

输入文件2:

new,1,2,3
2012-03-19 17:21:0,1,2 ,3
yy,1,2,3
2012-04-19,1,2,3
xx,2,3,4

输出:

2012-01-19 17:21:0,1,2 ,3
2012-01-19,1,2,3
2012-03-19 17:21:0,1,2 ,3
2012-04-19,1,2,3

相关问题 更多 >

    热门问题