擅长:python、mysql、java
<p>好吧。在</p>
<p>再次编辑。我运行下面的代码,花了很长时间!我最终流产了,但这在明智的时候也很管用——祝你好运!公司名称:</p>
<pre><code>import pandas as pd
f = "string\to\file\here.xlsx"
df = pd.read_excel(f)
def alter_date(timestamp):
try:
date_time = timestamp.to_datetime().strftime("%Y-%d-%m %H:%M:%S")
time_stamp = pd.Timestamp(date_time)
return time_stamp
except:
return timestamp
new_starts = df["trip_start_time"].apply(alter_date)
df["trip_start_time"] = new_starts
new_ends = df["trip_stop_time"].apply(alter_date)
df["trip_stop_time"] = new_ends
</code></pre>
<p>编辑:我有点挖苦,基于我之前所做的,这看起来是可能的,这里有新代码:</p>
^{pr2}$
<p>它有点慢(有一堆数据),但我的计算机似乎正在处理它-如果失败,它会再次更新。在</p>
<p>旧回答:
所以,所发生的是,每个不可能出现歧义的日期/时间都在原始数据集中,格式为:DD/MM/yyyyyhh:MM:SS。在</p>
<p>如果有可能到年月日时:分:秒</p>
<p>我要做的是迭代每个列</p>
<pre><code>for row in df.index:
try:
new_dt = datetime.strptime(row, "%Y-%d-%m %H:%M:%S")
#write back to the df here
except ValueError:
pass#ignore anything that cannot be converted
</code></pre>