如何在Excel中合并年份与周数并导入Python?解决公式返回数值问题
解决Excel数据合并及导入Python的问题
一、Excel内修正合并格式
你用的=DATE(B1, 1, -2) - WEEKDAY(DATE(B2, 1, 3)) + B2 * 7是计算指定周数对应日期的函数,和你要的「数值/年份」格式完全不匹配,40908是Excel的日期序列号(代表具体日期的数字编码)。要得到目标格式,直接用文本拼接即可:
假设你的年份数据在第一行(A1、B1、C1),数值在第二行(A2、B2、C2),在空白单元格输入:
=A2&"/"&A1
下拉填充后就能得到1/2012、2/2012、3/2012的文本格式。
如果需要保留可计算的数值组合(而非纯文本),也可以先计算A2/A1再设置单元格自定义格式为#/####,但这种方式本质是数值,后续导入Python需要注意格式转换,更推荐纯文本拼接的方式。
二、导入Python的两种方式
方式1:先在Excel处理好再导入
把Excel中生成的1/2012类文本列直接保存,用pandas读取后会自动识别为字符串类型:
import pandas as pd df = pd.read_excel("处理好的文件.xlsx") # 此时df中的合并列就是字符串格式,可直接使用
方式2:直接导入原始数据在Python中处理
如果不想在Excel操作,直接导入两行原始数据,用Python拼接:
import pandas as pd # 读取无表头的Excel数据 df = pd.read_excel("原始文件.xlsx", header=None) # 提取第一行年份和第二行数值 year_row = df.iloc[0] num_row = df.iloc[1] # 拼接成目标格式 combined = num_row.astype(str) + "/" + year_row.astype(str) # 转成DataFrame方便后续处理 result_df = pd.DataFrame(combined, columns=["合并结果"])
内容的提问来源于stack exchange,提问作者SaltySenator
相关产品推荐
相关产品推荐

