import pandas as pd# 读取数据df = pdread_excel制裁名单xlsx# 将第四列转化为日期格式dfyear = pdto_datetimedfyear format=Y# 新建一个空的DataFramenew_df = pdDataFrame# 遍历每行数据for index row in dfiterrows # 获取公司名称 company = ro
修改代码,添加判断是否已存在该公司在该月份的数据
import pandas as pd
读取数据
df = pd.read_excel('制裁名单.xlsx')
将第四列转化为日期格式
df['year'] = pd.to_datetime(df['year'], format='%Y')
新建一个空的DataFrame
new_df = pd.DataFrame()
遍历每行数据
for index, row in df.iterrows(): # 获取公司名称 company = row['company']
# 获取上市年份和当前年份
start_year = row['year']
end_year = pd.Timestamp('2021')
# 循环遍历每个月
for year_month in pd.date_range(start_year, end_year, freq='MS'):
# 将年月转化为字符串
year_month_str = year_month.strftime('%Y-%m')
# 判断新行是否已存在
if not ((new_df['company'] == company) & (new_df['year_month'] == year_month_str)).any():
# 新建一行数据
new_row = {
'company': company,
'year_month': year_month_str
}
# 将新行转换为 Series 类型
new_series = pd.Series(new_row)
# 将新行添加到 DataFrame 中
new_df = pd.concat([new_df, new_series], ignore_index=True)
将新的DataFrame保存为Excel文件
new_df.to_excel('new_data.xlsx', index=False
原文地址: https://www.cveoy.top/t/topic/edUu 著作权归作者所有。请勿转载和采集!