【问题标题】:How to read specific column of one excel and write it to specific column of another excel file in python如何读取一个excel的特定列并将其写入python中另一个excel文件的特定列
【发布时间】:2019-07-25 07:00:14
【问题描述】:

我有 2 个 excel 文件,我想从 file1 中读取一个特定列,并将整列写入 file2 的特定列,而不更改其他列和行。

截至目前,我可以使用 pandas 从 file1 读取特定列,但无法将该列添加到 file2 的特定列。

import pandas as pd
df1 = pd.read_excel("file1.xlsx")
name_df=df1["name"]

df2=pd.read_excel("file2.xlsx")
name2_df=df2["name"]
df3=name2_df.append(name_df, ignore_index=True)
writer=pd.ExcelWriter('output.xlsx',engine="xlsxwriter")
df3.to_excel(writer,"Sheet1",index=False)
writer.save()

预期的结果应该是将 file1 的名称添加到 file2 的名称中,一切都保持不变,但这段代码只给了我名称。

文件 1

文件 2

所需的输出

【问题讨论】:

    标签: excel python-3.x pandas xlsxwriter


    【解决方案1】:

    我在这里假设 file2 不会总是空白,对吗?如果它始终是空白的,那么您不妨选择 Name 列并添加其他空白列。

    我还假设您的列标题的名称与示例数据中的名称完全相同,而不是代码中的名称(它们不匹配!)

    frames = [pd.DataFrame(pd.read_excel("file1.xlsx")\
                           .rename(columns={'Name':'NAME'})['NAME']),
             pd.read_excel("file2.xlsx")]
    
    df3 = pd.concat([df1,df2])
    df3
    writer=pd.ExcelWriter('output.xlsx',engine="xlsxwriter")
    df3.to_excel(writer,"Sheet1",index=False)
    writer.save()
    

    我在测试中使用了以下 DataFrame:

    frames =[pd.DataFrame(pd.DataFrame({
            'ID':[123,3445],
            'Name':['Demo','Demo1'],
            'age':[23,45],
            'Gender':['M','F']
            }).rename(columns={'Name':'NAME'})['NAME']),
    
             pd.DataFrame( {
                  'Emp No':[1],
                  'DOB':['2080-01-01'],
                  'NAME':['Demo2'],
                  'DEPT':['Finance']})]
    

    结果:

          DEPT         DOB  Emp No   NAME
    0      NaN         NaN     NaN   Demo
    1      NaN         NaN     NaN  Demo1
    0  Finance  2080-01-01     1.0  Demo2
    

    【讨论】:

    • @RibhujeetDas 我已经编辑了我的答案以反映预期的结果,但是我不确定你的样本数据是否是你想要的。它产生了更多的问题。在示例数据中,您使用“NAME”和“Name”,但您的代码并未反映这一点。另外,为什么file2中没有数据?是不是总是这样。如果是这样,我上面的解决方案将起作用,但是当您可以添加空白列并删除不需要的列时,这就有点过头了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 2019-10-05
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多