Py学习  »  Python

用regex第一列读取和解析python中的csv文件

V.Montréal • 4 年前 • 158 次点击  

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

  • 删除邮件头(完成)
  • 将第一列的格式从2019年1月1日更改为第一列的20190101。

脚本的第一部分是为了跳过标题。第二部分我认为需要一个regex,但我不知道如何先删除/然后将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美国新年

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37925
 
158 次点击  
文章 [ 1 ]  |  最新文章 4 年前
V.Montréal
Reply   •   1 楼
V.Montréal    4 年前

感谢各位的回应。

因此,通过这段代码,我得到了以下输出:

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,马丁·L·金戴,北卡罗来纳州,美国

如果类型是字符串,我需要在脚本中添加什么代码才能使格式从01012018变为20180101?对于每条线,然后偏离路线。

非常感谢。谢谢。