连接两个对象列

2024-06-25 07:15:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图集中三列数据类型对象。我正在读取XLSM文件:

for filename in os.listdir(input_dir):
    if filename.endswith(".XLSM"): 
        file_dir = os.path.join(input_dir, filename)
        df = pd.read_excel(file_dir, sheet_name=0)

        B = df["- "]  
        F = df["Merk "]
        G =  df["Farbe "] 

该表包含以下内容:

ID   -                          Merk       Farbe

1   Fencheltee lang Metall-     -        schwarz
2   Hose BR Damen1/4 Silikon    48       weiß
3   Sonnecream AR 200Ml. SAL30  34       Snow white
.
.

我正在尝试编写一个新的csv文件,该文件应如下所示:

ACTIVE,NAME 
A,Fencheltee lang Metall- - schwarz
A,Hose BR Damen1/4 Silikon 48 weiß
A,Cream AR 200Ml. SAL30 34 Snow white

如何将数据类型对象的cloumn B、F和G连接到输出csv文件中的coulmn NAME? 我尝试了以下操作,但是我得到了一个带有空名称值的csv文件

df_ = pd.DataFrame(columns=["ACTIVE", "NAME"], index = ID)
df_["ACTIVE"] = 1
df_["NAME"] = B + " " + F + " " + G

        
df_.to_csv('output/pfiff.csv', encoding = 'utf-8', index=False)

这是错误的输出:

ACTIVE,NAME
1,
1,
1,
1,

Tags: 文件csv对象namedfinputosdir
2条回答

删除index = ID解决了我的问题

df_ = pd.DataFrame(columns=["ACTIVE", "NAME"])

您可以将想要的df列组合到新的数据帧中,如下所示:

df_ = pd.DataFrame(columns=["A", "NAME"])
df_["NAME"] = df["- "] + " " + df["Merk"].astype(str) + " " + df["Farbe "]
df_["A"] = "A"

相关问题 更多 >