Python 删除重复的分隔符
我正在从excel表格中阅读以下列Python 删除重复的分隔符,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我正在从excel表格中阅读以下列 CM FOTO 1 FOTO 2 FOTO 3 FOTO 4 some text some 744905_L050_01.jpg NaN 744905_B001_01.jpg NaN some text some NaN NaN Na
CM FOTO 1 FOTO 2 FOTO 3 FOTO 4
some text some 744905_L050_01.jpg NaN 744905_B001_01.jpg NaN
some text some NaN NaN NaN NaN
some text some 621059_W034_01.jpg 621059_W034_02.jpg 621059_W034_03.jpg NaN
some text some NaN NaN NaN NaN
然后我将编写一个新的csv文件,并创建以下列:
df_["DESCRIPTION"] = df["CM "]
df_["IMAGES_URL"] = df[["FOTO 1 ", "FOTO 2 ", "FOTO 3 ", "FOTO 4 "]].apply(lambda x: x.str.cat(sep='|'), axis=1)
df_["WAREHOUSE"] = "D"
最后,我将其存储在csv文件中,并使用分号作为分隔符:
df_u.to_csv('path/my_ufile.csv',encoding='utf-8',index=False,sep=';'))
输出如下所示:
DESCRIPTION;IMAGES_URL;WAREHOUSE
some text some;744905_L050_01.jpg|744905_B001_01.jpg;D
some text some;;D
some text some;621059_W034_01.jpg|621059_W034_02.jpg|621059_W034_03.jpg;D
some text some;;D
但是,如果所有四个Foto列都有NaN
值,它将写入double将>编码到csv文件中。
如何删除双分号并仅用一个分号替换它?如果人为地将“;”替换为“;”,您将有来自的数据,例如Foto 3进入Foto 2列。这真的是你想要的吗?如果没有,您可以在NAN中填充其他内容:
df_u.fillna('No foto',inplace=True)
您有一个“双分号”,其中数据帧中没有foto。这个问题应该在那里解决。我该怎么解决呢?我已经尝试将“;”替换为“;”,但再次失败,您有一个“;”(空列),因为缺少一个值。CSV文件的每行中必须有相同数量的列。这是不可谈判的。你不能拥有你想要的东西——首先,你为什么想要它?