使用Regex第一栏中的Python读取和解析CSV文件

时间:2019-05-29 22:29:58

标签: python csv

我有一个CSV文件(日历),我想使用脚本在以下条件下读取和解析5列:

  • 删除标题(完成)
  • 将第一列的格式从01/01/2019更改为20190101的第一列

脚本的第一部分已完成以跳过标头。第二部分我认为需要使用正则表达式,但我只是不知道如何先删除/然后将0101从2019之前移动到2019年之后,所以结果是20190101

如果有人可以帮助,那就太好了!

def parse_calendar(infile, outfile):
    with open(outfile, 'w', newline='') as output:
        with open(infile, newline='') as input:
            reader = csv.reader(input, delimiter=',', quotechar='"')
            next(reader, None)  # skip the headers
            writer = csv.writer(output, delimiter=',', quotechar='"')
            for row in reader:   # process each row
                writer.writerow(row)

与初始文件相比,我希望输出类似于以下内容:

2019年1月1日,美国纽约州元旦

20190101元旦N C美国

1 个答案:

答案 0 :(得分:0)

感谢大家的答复。

因此,使用此代码,我得到以下输出:

import csv

def parse_calendar(infile, outfile):
    with open(outfile, 'w', newline='') as output:
        with open(infile, newline='') as input:
            reader = csv.reader(input, delimiter=',', quotechar='"')
            next(reader, None)  # skip the headers
            writer = csv.writer(output, delimiter=',', quotechar='"')
            for row in reader: # process each row
                replaced = row[0].replace('/','')  
                row[0] = replaced
                writer.writerow(row)

01012018,元旦,美国,北卡罗来纳州

01012018,元旦,N,C,CA

01152018,美国北卡罗来纳州马丁·金日(Martin L.King Day)

鉴于类型为String,我现在需要从脚本01012018到20180101中添加什么代码,以获取不同的格式?对于每条线然后偏离路线。

非常感谢