【问题标题】:Modify header of an excel file using pandas使用熊猫修改excel文件的标题
【发布时间】:2021-08-19 07:43:23
【问题描述】:

我有一个日期列表,我试图将这些日期作为 excel 文件的标题。 我曾尝试使用 Dataframe 和 dict 但它覆盖了我不想要的从 excel 中删除的文件和员工姓名。这是示例 excel 标题图片:

以及以下代码

dates = ['13-Dec', '20-Dec', '27-Dec', '03-Jan', '10-Jan']
df = pd.read_excel('C://Users//AMANSHAW//Desktop//color_it.xlsx')
df.columns = dates
df.rename(columns = dates , inplace=True)

错误

TypeError: 'list' 对象不可调用

【问题讨论】:

    标签: python excel pandas


    【解决方案1】:

    如文档中所述 - 您最好使用字典来清楚:

    dates = {'A': '13-Dec', 'B': '20-Dec', 'C': '27-Dec', 'D': '03-Jan', 'E', '10-Jan'}
    df = pd.read_excel('C://Users//AMANSHAW//Desktop//color_it.xlsx')
    df.columns = dates
    df.rename(columns = dates, inplace=True)
    

    【讨论】:

    • 收到此错误,ValueError:长度不匹配:预期轴有 1 个元素,新值有 5 个元素。由于 excel 只有一列,我将无法直接向不存在的列添加标题。
    • 所以您想将列标题替换为不存在的列?还是您只想替换现有的标头?
    【解决方案2】:

    从您附加的图片中,您的数据只有一列,因此您无法直接向不存在的列添加标题。我建议您执行以下操作来添加空列并为它们提供标题:

    dates = ['13-Dec', '20-Dec', '27-Dec', '03-Jan', '10-Jan']
    df = pd.read_excel('C://Users//AMANSHAW//Desktop//color_it.xlsx')
    for date in dates:
        df[date] = np.nan   # or df[date] = ""
    

    【讨论】:

      【解决方案3】:

      您可以使用reindex 添加新的空列

      df = df.reindex(columns= df.columns.to_list() + dates)
      

      【讨论】:

      • 我试过了,但它附加了标题,我想要做的是,每次我运行脚本时,我都会得到一个新的日期列表,我希望该日期作为 excel 的标题,保留成员列同样,来自 B 列的日期将作为标题。检查示例标题图像以供参考
      • 您可以存储在另一个临时数据框中并保持原样。 df_temp = df.reindex(columns= df.columns.to_list() + dates)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      • 2020-05-02
      • 2023-03-22
      • 2021-12-02
      • 1970-01-01
      • 2019-01-26
      相关资源
      最近更新 更多