发布于 2022-02-24 06:59:12
尝试此操作,熊猫读取您的1月-1是日期时间类型,如果需要将其更改为字符串,您可以在代码中直接设置它,下面的代码将直接将读取的值分配给第二列:
import pandas as pd
df = pd.read_excel("add_date_column.xlsx", engine="openpyxl")
sig = []
def t(x):
global sig
if not isinstance(x.values[0], str):
tmp_sig = x.values[0]
if tmp_sig not in sig:
sig = [tmp_sig]
x.values[1] = sig[-1]
return x
new_df = df.apply(t, axis=1)
new_df.to_excel("new.xlsx", index=False)发布于 2022-02-24 07:00:52
这个概念非常简单:
对于此任务,您不需要具体的Python。这方面的excel公式是;
=IF(ISNUMBER(A:A),A:A,B1)我没有检查是否是日期/时间,而是假设其余的条目都是字母数字(包括字母和数字)。此公式适用于新列。
当然,您可能已经在Python中,并且只在相同的环境中工作。下面是循环:
for i in range(len(df)):
if type(df["Orig. Codec"][i]) is datetime:
df["Column1"][i] = df["Orig. Codec"][i]
else:
df["Column1"][i] = df["Column1"][i-1]对于相同的概念,可能有一些方法可以实现lambda函数,但我并不知道如何同时应用lambda和shift。
https://stackoverflow.com/questions/71247769
复制相似问题