如何在Excel或Python中将正确的值赋给正确的列

2024-09-21 03:26:10 发布

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

我最近使用Python抓取了数据,并将数据导出到CSV文件中。 但后来我发现了一个严重的错误。 因为我是Python的初学者,所以我试图找到过去的参考资料或一些资料,让我自己来解决这个问题,但是没有

让我直说我的问题。例如,我的CSV文件如下所示:

        amenity_TV  amenity_Wifi  amenity_kitchen  amenity_iron  ...  amenity_phone
hotel_A    TV            Wifi           kitchen        iron      ...     phone
hotel_B    TV            kitchen        iron           null      ...     null
hotel_C    TV            Wifi           iron           null      ...     null
hotel_D    Wifi          null           phone          null      ...     null

单元是酒店,便利设施是柱子。我做错的是,我应该在正确的列中指定正确的值。例如,它应该是这样的:

        amenity_TV  amenity_Wifi  amenity_kitchen  amenity_iron  ...  amenity_phone
hotel_A    TV            Wifi           kitchen        iron      ...     phone
hotel_B    TV            null           kitchen        iron      ...     null
hotel_C    TV            Wifi           null           iron      ...     null
hotel_D    null          Wifi           null           null      ...     phone

还有一个问题是,我可以在Excel中处理这个问题,还是使用Python更有效


Tags: 文件csv数据错误phonetvnullhotel
1条回答
网友
1楼 · 发布于 2024-09-21 03:26:10

下面是一种在Excel中将值移到右边列的方法:

  1. 创建一组新的列“便利设施\u电视”、“便利设施\u Wifi”等
  2. 使用SUBSTITUTE将每个列标题中的“便利设施”替换为空字符串,即只返回“TV”、“Wifi”等
  3. 对照结果文本检查每行中的MATCH
  4. 如果存在MATCH-即MATCH不返回错误-返回该文本,否则返回Null

原始数据

enter image description here


更新数据

把这个公式放到I2中,然后来回拖动:

=IF(NOT(ISERROR(MATCH(SUBSTITUTE(K$1,"amenity_",""),$B2:$F2,0))),SUBSTITUTE(K$1,"amenity_",""),"Null")

enter image description here

相关问题 更多 >

    热门问题