split()拆分报错是为什么啊?

img

img


我想把区域位置这一列拆分成区域和位置两列,但是报错。这是为什么呀,要怎么修改呢?

img

看提示超出索引了,表示 split 有的数据没有切割,也就是没有 - 字符

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/187171
  • 你也可以参考下这篇文章:re.split()总结
  • 除此之外, 这篇博客: 如何利用Python分离文件中的英文和中文?中的 方法二、如果文件中英文和中文同一行混合,定义split_chinese()函数,判断一行中每一个字符,只要找到中文字符就返回该字符。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 然后可以利用find()查找这个字符的索引,就可以用切片分离中英文了。

    文本内容如下:

    This is a test.,这是一个测试。
    This is a test2.,这是一个测试2。
    
    def split_chinese(strings):
        for _char in strings:
            if '\u4e00' <= _char <= '\u9fa5':
                return _char
    
    
    with open('./测试文件', mode="r", encoding="utf-8") as file:
        for line in file:
            _char = split_chinese(line)
            index = line.find(_char)
            print("英文: ", line[: index])
            print("中文: ", line[index:])

    结果:

    英文:  This is a test.,
    中文:  这是一个测试。

    英文:  This is a test2.,
    中文:  这是一个测试2。
     

     

目测'-'有问题,代码里和数据里的字符不一致,其中一个是中文全角字符