re.split无法正常使用来自excel单元格的字符串

时间:2015-06-23 22:37:11

标签: python regex string parsing split

我有一个字符串:

  

05-01-2015 12:27 - KH - (KH)Igangværende - Opringning - 13-11 00:00   FangedeRLIpå汉斯·莫米尔。 Ring igen kl。 15 19-11-2014 11:17 - KH -   (KH)Igangværende - Opringning - 13-11 00:00Gikpåsvarerigen og   lagt倾斜直到RLI在ringe倾斜。 12-11-2014 09:38 - KH - (KH)   Igangværende - Opringning - 13-11 00:00 12-11-2014 09:32 - KH - (KH)   Igangværende - Opringning - 15-10 00:00ForsøgtRLIigen og lagt   beked om han vil ringe。 14-10-2014 13:14 - KH - (KH)Igangværende -   Opringning - 15-10 00:00 14-10-2014 13:10 - KH - (KH)Igangværende -   Opringning - 14-10 00:00 Lagt besked直到RLI在14-10-2014   13:06 - KH - (KH)Igangværende - Opringning - 14-10 00:00测试

我将这个字符串解析成碎片,以便每个部分都以日期开头。为此目的,正如在my other post about my task中解决的那样,我从正则表达式中受益:

match = re.search(r' (?=\d{2}-\d{2}-\d{4})', text)

当我将上面的字符串直接写入代码中的变量 text 时,没有问题。但是,如果我使用xlrd或其他人从excel文件中的单元格获取此文本,我无法正确获取值。我也用编码/解码的东西尝试了单元格值。但我只在匹配[0]中得到整个文本。没有分割匹配1,匹配[2]或其他。以下是我尝试从excel文件中获取文本的方法:

# -*- coding: utf-8 -*-
import re
import xlrd

book = xlrd.open_workbook("liste1.xlsx")

# get the first worksheet
first_sheet = book.sheet_by_index(0)

# read a cell
cell = first_sheet.cell(1,5)

text=cell.value
match = re.split(r' (?=\d{2}-\d{2}-\d{4})', text)

print match[0]

请你帮帮我吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

您是否尝试过类似repr(text)的内容?

答案 1 :(得分:0)

我通过添加一行从单元格中移除非打印字符来解决此问题,如本文Unwanted Character in Excel cell中所述:

indexOf()