Python Tokenize-标记数组的字符串

Python Tokenize-标记数组的字符串,python,arrays,python-3.x,pandas,numpy,Python,Arrays,Python 3.x,Pandas,Numpy,我的代码: import numpy as np import pandas import codecs import re dataframe = pandas.read_csv("tmp.csv", delimiter=",") dataset = dataframe.values x = dataset[:,0:1] y = dataset[:,1] #j = 0 for data in x: text = str(data[0]) tokenizer = re.com

我的代码:

import numpy as np
import pandas
import codecs
import re

dataframe = pandas.read_csv("tmp.csv", delimiter=",")
dataset = dataframe.values
x = dataset[:,0:1]
y = dataset[:,1]

#j = 0
for data in x:
    text = str(data[0])
    tokenizer = re.compile('\W+')
    tokens = tokenizer.split(text)
    i = 0
    for token in tokens:
        tokens[i] = token.lower()
        i += 1
    data = tokens
    #x[j] = tokens
    #j += 1
    print(data)

print(x)
打印(数据)
的格式为
['token1','token2',…]

print(x)
的格式为
[[“text1”]、[“text2”]、…]

我想要x的
[['token1','token2',…],['token5','token6',…],…]

x[j]=tokens
而不是
data=tokens
,其计数索引j在
ValueError中返回:无法将大小为4的序列复制到维度为1的数组轴上

tmp.csv的格式是:大约350万行


我对python比较陌生,所以我希望任何人都能帮助我。

您的代码不会以任何方式修改
x
,因此,当您
打印(x)
时,您会得到与开始时相同的列表

您需要创建一个新列表,用于存储标记化文本(即列表列表)。在第一个for循环之前添加
x_令牌=[]
,然后用
x_令牌追加每个令牌列表。追加(令牌)


请将您的问题包括在csv文件内容中。当然。。。。我没有考虑数据是一个临时变量这一事实。非常感谢。
import numpy as np
import pandas
import codecs
import re

dataframe = pandas.read_csv("tmp.csv", delimiter=",")
dataset = dataframe.values
x = dataset[:,0:1]
y = dataset[:,1]

x_tokens = []

for data in x:
    text = str(data[0])
    tokenizer = re.compile('\W+')
    tokens = tokenizer.split(text)
    i = 0
    for token in tokens:
        tokens[i] = token.lower()
        i += 1

    x_tokens.append(tokens)

    print(tokens)

print(x_tokens)