基于列中的前缀创建CSV

2024-09-30 20:18:08 发布

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

我有一个CSV,但行的列数不同,因为在某些行中,缺少一些值。所以没有索引。每个值的“含义”此时由该值的前缀编码。我需要清理我的CSV,以便创建一个新的CSV,该CSV仅基于前缀保存某些列的值

看起来是这样的:

001234;aA431;cFM33;jJE LE (3);xABCD;421;
004321;aB432;cPD99;433
006543;aC332;cHR31;x4231;499

新CSV应具有标题,其名称可以是列的前缀(第一个字母):

0;a;c;4
01234;A431;FM33;21
04321;B432;PD99;33
06543;C332;HR31;99

我正在开始使用python熊猫,所以任何关于这个方向的提示都是非常受欢迎的


Tags: csvle标题编码含义列数xabcdab432
1条回答
网友
1楼 · 发布于 2024-09-30 20:18:08

据我所知,没有自动的解决方案

但是,如果预先知道传递给方法foo的类的列表,则可以实现手动解决方案。 i、 e

private ArrayList<Class> abstractTypes = new ArrayList<>();

void foo(Class<? extends SubType> classType) {
    boolean isAbstract = false;
    for(Class c: abstractTypes)
       if((classType.getName()).equals(c.getName()){
          isAbstract = true;
          break;
       }

    //Do something else...   
}

相关问题 更多 >