Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将字典中的Unicode编码键转换为日语_Python_Dictionary_Unicode - Fatal编程技术网

Python 将字典中的Unicode编码键转换为日语

Python 将字典中的Unicode编码键转换为日语,python,dictionary,unicode,Python,Dictionary,Unicode,我刚开始通过Python2在日语中进行文本聚类。但是,当我基于这些日语单词/术语创建字典时,字典键变成了unicode而不是日语。代码如下: # load data allWrdMat10 = pd.read_csv("../../data/allWrdMat10.csv.gz", encoding='CP932') ## Set X as CSR Sparse Matrix X = np.array(allWrdMat10) X = sp.csr_matrix(X) ## creat

我刚开始通过Python2在日语中进行文本聚类。但是,当我基于这些日语单词/术语创建字典时,字典键变成了unicode而不是日语。代码如下:

# load data
allWrdMat10 = pd.read_csv("../../data/allWrdMat10.csv.gz", 
encoding='CP932') 


## Set X as CSR Sparse Matrix
X = np.array(allWrdMat10)
X = sp.csr_matrix(X)

## create dictionary
dict_index = {t:i for i,t in enumerate(allWrdMat10.columns)}

freqrank = np.array(dict_index.values()).argsort()
X_transform = X[:, freqrank < 1000].transpose().toarray()
Index([u'?', u'.', u'・', u'%', u'0', u'1', u'10月', u'11月', u'12
月', u'1つ',
...
u'瀋陽', u'疆', u'盧', u'籠', u'絆', u'胚', u'諫早', u'趙', u'鉉', u'鎔
基'],dtype='object', length=8655)
但是,
dict_index.keys()
的结果如下:

[u'\u77ed\u9283',
 u'\u5efa\u3066',
 u'\u4f0a',
 u'\u5e73\u5b89',
 u'\u6025\u9a30',
 u'\u897f\u65e5\u672c',
 u'\u5e03\u9663',
 ...]

有什么办法可以把日语单词/术语保存在字典里吗?或者有什么方法可以将unicodes转换回日语单词/术语?谢谢。

当您向解释器询问表达式的值时,解释器会计算该值,然后输出其
repr()
print
语句(v2)或函数(v3)使用值的
str()。所以,如果我取一个有问题的键,问我的解释器它的值是什么,我就会得到你所看到的。但是,如果我打印它,我会看到所需的日语字符:

>>> u'\u77ed\u9283'
u'\u77ed\u9283'
>>> print u'\u77ed\u9283'
短銃

因此,您确实拥有所需的值,只是不知道解释器使用的是不同的表示形式,保证可以用ASCII表示。

您没有在字符串前面加上u前缀,这在Python 2中是必需的。更好的是,
导入unicode\u文本

感谢您的解释。但是,当我为函数
plot\u dendrogram
设置
labels=dict\u index.keys()
时,绘图无法显示单词。这就是为什么我试图将unicode转换为日语术语,或者在创建字典时保持不变。谢谢@KHELILI Hamza,你能提供更多关于这个过程的细节吗?@zi这个帮助@zi如果你的代码运行良好,请不要忘记接受我的答案