从DataFrame复制数据并写回excel吗?

时间:2019-06-18 22:12:49

标签: python-3.x pandas dataframe

我以前从未与Pandas合作过,我正在寻求有关最佳行动方案的指导。

当前,我有一个excel(.xlsx)电子表格,正在读取到数据Pandas DataFrame中。在该Excel电子表格中,它包含帐户数据,文档控制编号,合同ID,制造商合同ID,序列号,包括排除,开始日期,结束日期和供应商客户ID。

根据该数据,需要将所有帐号从文档密钥co,文档控制编号,合同编号,制造商合同编号,序列号复制回每一行数据,包括排除,开始日期,结束日期和供应商客户ID。

以下是数据示例: spreadsheet

我已经阅读了DataFrame,并使用以下代码遍历了DataFrame:

#reads in template data. Keeps leading zeros in column B and prevents "NaN" from appearing in blank cells
df = pd.read_excel('Contracts.xlsx', converters = {'document_key_co' : lambda x: str(x)}, na_filter = False)


#iterates over rows
for row in df.itertuples():
    print(row)

做完这些事情之后,那就是我被困住的地方。预期的结果是这样的:

spreadsheet

如您所见,有三个帐户复制到每个合同ID。

我仔细阅读了Pandas文档,考虑将每个帐户分离到一个单独的DataFrame中,并使用concat /将其合并到另一个包含文档密钥共同客户ID的DataFrame中,但是感觉到这是很多额外的代码可能是一个更好的解决方案。

1 个答案:

答案 0 :(得分:1)

我能够使用以下代码段完成任务:

concats = []
for x in df.account.values:
    concats.append(df.copy())
    concats[-1].account = x
pd.concat(concats)