擅长:python、mysql、java
<pre><code>import csv
import re
from datetime import datetime
lines = []
# open file as read-only
with open('partner_new_testteam.csv', "r", newline='') as data:
reader = csv.reader(data)
# go over all of its rows, and the row's items and change
# items that match the date format
for row in reader:
for i, string in enumerate(row):
if re.match(r"\d+\/\d+\/\d+", string):
datetimeobject = datetime.strptime(string, '%d/%m/%Y')
new_string = datetimeobject.strftime('%Y-%m-%d')
row[i] = new_string
print("Replaced", string, "with", new_string)
# save edited, and originally correct ones to new list
new_row = row
lines.append(new_row)
# write new rows by overwriting original file
with open('partner_new_testteam.csv', "w", newline='') as data:
writer = csv.writer(data)
writer.writerows(lines)
</code></pre>
<p>您当前的代码实际上不会更改任何内容。您从未替换任何内容,也没有以写访问权限打开文件。在</p>
<p>您也不应该像使用<code>try:</code>那样使用<code>if</code>。正则表达式匹配x/x/x,其中x是任意数量的数字。在</p>