python - 使用正则表达式第一列在 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 元旦 NC US
解决方案
谢谢大家的回复。
因此,使用此代码,我得到以下输出:
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,N,C,US
鉴于类型是字符串,我需要向脚本添加什么代码才能使格式从 01012018 到 20180101 现在不同?对于每条线然后偏离路线。
非常感谢
推荐阅读
- drupal-7 - 在 Drupal 7 Tpl 文件中使用 db_select 的最佳方法是什么?
- android - 在 Kotlin 中将可变的实时数据解析为数组
- mysql - 使用前 2 个条目中的值向表中添加移动平均列
- django - 从 send_mail 上的地址更改
- angular - rxjs-compat 与 pipe() 方法
- c# - 在不更改 DataGridView 表的情况下搜索 DataGridView
- android - 使用“工具”时,“这个”包含什么?
- python - 在 tensorflow 1.15 中如何正确传递权重和偏差?
- c# - 如何从 MySQL 读取双列并将其分配给 C# 双变量?
- javascript - 有没有办法用 Or 运算符缩短这个时间?