我目前正在嘗試估計每個字符在大量繁體中文字符中使用的次數。我對個字符不感興趣。該文件還包括標點符號和西方字符。製作一個字符串中的繁體中文字符列表
我正在閱讀中文繁體字的示例文件。該文件包含大量繁體中文字符。這是一小部分。
首映鼓掌10分鐘評語指不及「花樣年華」 該片在柏林首映,完場後獲全場鼓掌10分鐘王家衛特別爲該片剪輯「柏林版本 增減20處趙本山香港戲分被刪 在柏林影展放映的「一代宗師」版本 教李小龍武功葉問決戰散打王
另一增加的戲分是開場時葉問(梁朝偉飾)
我的策略是讀取每一行,將每行分割成一個列表,然後檢查每個字符以查看它是否已經存在一個字符的列表或字典。如果該字符還不存在於我的列表或字典中,我會將它添加到該列表中,如果它存在於我的列表或字典中,我將增加該特定字符的計數器。我可能會使用兩個列表,一個字符列表和一個包含計數的並行列表。這將是更多的處理,但也應該更容易編碼。
我還沒有接近這一點的任何地方呢。
我能夠成功讀取示例文件。然後,我可以爲我的文件的每一行創建一個列表。我能夠將這些單行輸出到我的輸出文件中,並重構原始文件,並且傳統中文完好無損。
但是,當我嘗試製作特定行上每個字符的列表時,我遇到了麻煩。
我已閱讀完以下文章。我理解了很多意見,但不幸的是,我無法理解它足以解決我的問題。 How to do a Python split() on languages (like Chinese) that don't use whitespace as word separator?
我的代碼如下所示
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import codecs
wordfile = open('Chinese_example.txt', 'r')
output = open('Chinese_output_python.txt', 'w')
LINES = wordfile.readlines()
通過各種測試,我相信下面的行不分裂串線[0]成組成中國字。
A_LINE = list(LINES[0])
output.write(A_LINE[0])
如果您只需要一箇中文字符列表,請在您鏈接的問題中按照建議的答案建議:)。如果你需要通過中國話來分裂,祝你好運,只有令人難以置信的智能程序可以做到這一點。就這樣你知道 - 你不需要用文字分割然後按字符分割。你可以馬上分割字符,沒有什麼能阻止你這麼做:) – Patashu 2013-02-10 23:26:56
我只需要分割*字符*。我知道中文單詞可以是多個字符,但我不需要這些。 但是,文章中列出的解決方案之一不符合我的知識和我的情況: list(u「這是一個句子」) 該代碼成功地將每個字符放入列表元素中。但是,由於我正在處理一個名爲LINES [0]的變量......我無法成功使用該代碼。我嘗試了列表(ü「LINES [0]」),但這不會被解釋爲LINES [0]表示的中文字符串。 – 2013-02-10 23:32:48
然後只需從http://stackoverflow.com/a/3798790/497106接受的答案複製代碼,你就完成了:) – Patashu 2013-02-10 23:33:35