使用Python来';关于拆分';unicode字符

使用Python来';关于拆分';unicode字符,python,regex,unicode,compiler-errors,Python,Regex,Unicode,Compiler Errors,我试图将以下数据字段拆分为3个字段(pre、match和suf),并将它们输入到一个逗号分隔的txt文件中。我从一个csv文件中读取所有这些数据…它是utf-8数据 我现在的问题是,我无法绕过“TypeError:强制使用Unicode:需要字符串或缓冲区,列表已找到”错误…但是,看到我已尝试设置编码,我不知道哪里出了问题 样本数据: A-1 طس TX 35-L Av Rib 在此基础上进行拆分应(\d+([NSEW])向我提供以下信息: Column1 | Column2 | Col

我试图将以下数据字段拆分为3个字段(pre、match和suf),并将它们输入到一个逗号分隔的txt文件中。我从一个csv文件中读取所有这些数据…它是utf-8数据

我现在的问题是,我无法绕过“TypeError:强制使用Unicode:需要字符串或缓冲区,列表已找到”错误…但是,看到我已尝试设置编码,我不知道哪里出了问题

样本数据:

 A-1 طس
 TX 35-L
 Av Rib
在此基础上进行拆分应(\d+([NSEW])向我提供以下信息:

Column1 | Column2 | Column3
A       |1        |طس
TX      |35       |-L
Av Rib  |         |
我目前的代码是:

## Iterate over csv file to create matches and splits 
## string according to regex pattern..

    reader = csv.reader(csvfile)

    with codecs.open(r'file.txt', 'w', 'utf-8') as outfile1:
        for row in reader:
           unicode_row = [x.decode('utf-8') for x in row]
           item = unicode_row[1]
           parsed = re.compile("\d+(-?[NSEW])?", re.UNICODE).split(unicode(item, 'utf-8'))
           outfile1.write(parsed + "\n")

您的错误是因为
parsed
是一个列表列表


您从哪里得到的TypeError?csvfile是用
编解码器打开的。打开
还是仅仅
打开
?这是一个Python3还是Python2的问题?使用2.7,我只是用“打开”打开csvfile进行读取(但正如您所看到的,写入文件使用的是编解码器)。使用编码没有多大作用。。。对于:l=re.compile(ur'(?u)\d+(?[NSEW])?',re.UNICODE.split(UNICODE(item,'utf-8'))和outfile1.write(u'l'+“\n”)我得到了相同的错误