我有一根绳子:
05-01-2015 12:27 - KH - (KH) Igangv rende- Opringning - 13-11 00:00 Fangede p hans mobil。环igen kl.15 19-11-2014 11:17 - KH - (KH) Igangv rende- Opringning - 13-11 00:00 Gik p svarer igen og lagt涂涂了RLI。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:00 Fors gt RLI igen og igen igen og ringe om han vil ringe。14-10-2014 13:10 -14- ( KH ) Igangv rende- Opringning - 15-10 00:00 14-10-2014 13:10- KH - ( KH ) Igangv rende- Opringning - 14-10 00:00在14-10-2014 13:06 KH- (KH) Igangv rende- Opringning 14-10 00:00测试
我将这个字符串解析为几个部分,以便每个片段都以日期开始。为此,正如在my other post about my task中解决的那样,我从regex中受益如下:
match = re.search(r' (?=\d{2}-\d{2}-\d{4})', text)当我将上面的字符串直接写入代码中的变量文本时,就没有问题了。但是,如果我从带有xlrd或其他的excel文件中的单元格中获取这段文本,则无法正确地获取值。我也尝试了使用编码/解码的单元格值。但我只得到了完整的文本匹配。没有分裂的匹配1,match2或其他。下面是我如何尝试从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]能帮我处理一下这个吗?
提前谢谢。
发布于 2015-06-24 23:31:48
我通过添加一行从单元格中删除非打印字符来解决这个问题,正如本文Unwanted Character in Excel cell中所述:
# -*- 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= re.sub(r"[\r\n\t\x07\x0b]", "", cell.value)
match = re.split(r' (?=\d{2}-\d{2}-\d{4})', text)
print match[0]
print match[1]
print match[2]发布于 2015-06-24 16:37:00
你试过像repr(text)这样的东西吗
https://stackoverflow.com/questions/31014673
复制相似问题