【发布时间】:2019-06-04 21:12:47
【问题描述】:
我有一个由数据库主键和字符串组成的字典。
self.mydict = {
1:'a small example'
,2:'some sentence'
,3:'a very long string around 30k characters'
}
对于字符串长度 对于一些非常大的字符串(长度=30,000),标记器会在我的 csv 输出中返回多条虚线。
def write_data(self):
headers=[]
for x,y in self.mydict.items():
headers.append([word_tokenize(y)])
print(len(y))
with open(self.outputdata, 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
for item in headers:
writer.writerow(item)
将我的结果写入 csv,我得到以下信息:
['a','small','example']
['some','sentence']
['a','very','long',
string','around','30k','characters']"
因此,30k 长度的字符串由于某种原因而中断,并且似乎分裂到另一行。我可以截断字符串的前 1000 个字符,这个问题就消失了,但我更愿意在进行自然语言处理时保留长字符串。这个错误是由于字符串的长度还是我编写 csv 的方式?
【问题讨论】:
-
您的输出文件中是否有括号?
word_tokenize(y)已经是一个列表,不要用括号括起来。 -
谢谢亚历克西斯,不,我要添加多个东西来创建矩阵,只是剪掉部分代码,让它看起来很古怪。
标签: python python-3.x nlp nltk token