【问题标题】:Writing to a specific range/Column with Pandas使用 Pandas 写入特定范围/列
【发布时间】:2017-11-16 08:22:44
【问题描述】:

我正在尝试通过 Pandas 数据框从工作簿 1 的 Range AP:AR 列复制到工作簿 2 的 Range A:C

我已成功读取工作簿 1 中的以下数据框,然后我想将其写入指定范围的工作簿 2。所以AP:AR to AQ:AS.

我试过了:

#df.to_excel(writer, 'AP')

我还尝试了以下方法:

 #df = pd.write_excel(filename, skiprows = 2, parse_cols = 'AP:AR')
pd.writer = pd.ExcelWriter('output.xlsx', columns = 'AP:AR')
pd.writer.save()

例如:

filename ='C:/ workbook 1.xlsx'
df = pd.read_excel(filename, skiprows = 2, parse_cols = 'A:C')

import pandas as pd
writer = pd.ExcelWriter('C:/DRAX/ workbook 2.xlsx')
df.to_excel(writer, 'AQ')
writer.save()
print(df)

它读取正确,但写入单元格列“B”而不是 AQ。

【问题讨论】:

    标签: python excel python-3.x pandas xlsxwriter


    【解决方案1】:

    你必须用参数startcol指定你要写入数据帧的starting column,它是一个从0开始的整数:

    所以你应该换行

    df.to_excel(writer, 'AQ')
    

    df.to_excel(writer, startcol=42) # AQ has the index of 42
    

    结果:

    【讨论】:

    • 嗨@GordonLeclair 这到底有助于解决问题吗?如果是这样,您可以accept this answer 积极结束问题。
    猜你喜欢
    • 1970-01-01
    • 2017-11-09
    • 2015-12-10
    • 2019-03-15
    • 2016-12-13
    • 2017-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多