我用我的文件尝试了这个脚本,该文件包含大约 16 列和 5243 行,
第一列分别是键(只是整数 1 到 5243),第二列是句子的值(句子可以很长到段落)
当我尝试使用小文件时,它适用于真正的文件,但它不起作用。
# -*- coding: UTF-8 -*-
import codecs
import re
import os
import sys, argparse
import subprocess
import pprint
import csv
from itertools import islice
import pickle
try:
import treetaggerwrapper
from treetaggerwrapper import TreeTagger, make_tags
print("import TreeTagger OK")
except:
print("Import TreeTagger pas Ok")
from itertools import islice
from collections import defaultdict
#export le lexique de sentiments
pickle_in = open("dict_pickle", "rb")
dico_lexique = pickle.load(pickle_in)
# extraction colonne verbatim
d = {}
with open(sys.argv[1], 'r', encoding='cp1252',) as csv_file:
csv_file.readline()
for line in csv_file:
token = line.split(';')
d[token[0]] = token[1]
#print(d)
tagger = treetaggerwrapper.TreeTagger(TAGLANG='fr')
d_tag = {}
for key, val in d.items():
newvalues = tagger.tag_text(val)
d_tag[key] = newvalues
#print(d_tag)
d_lemma = defaultdict(list)
for k, v in d_tag.items():
for elem in v:
parts = elem.split('\t')
d_lemma[k].append(parts[2])
#print(d_lemma)
print('ok')
结果
import TreeTagger OK
Traceback (most recent call last):
File "CSV_dico.py", line 50, in <module>
d_lemma[k].append(parts[2])
IndexError: list index out of range
abordables ADJ abordable
sur PRP sur
le DET:ART le
marché NOM marché
. SENT .
Moins ADV moins
cher ADV cher
... PUN ...
25 NUM @card@
% SYM %
de PRP de
moins ADV moins
... PUN ...
C' NAM C'
est VER:pres être
quand ADV quand
-même ADJ même
moins ADV moins
qualitatif ADJ qualitatif
qu' KON que
un DET:ART un
seau NOM seau
! SENT !