wie zu Lesen, die Daten in utf-8-format in R?
Mein system:win7+R-3.0.2.
> Sys.getlocale()
[1] "LC_COLLATE=Chinese (Simplified)_People's Republic of China.936;LC_CTYPE=Chinese
(Simplified)_People's Republic of China.936;LC_MONETARY=Chinese (Simplified)_People's
republic of China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_People's Republic of China.936"
Gibt es zwei Dateien mit dem gleichen Inhalt, gespeichert in microsoft Editor: ein gespeichert wird, als das ansi-format, die anderen gespeichert als utf-8-format.Die Daten Tod name in M370 Malaysia Airlines .
Oder Sie können die Datei auf diese Weise.
1)kopieren Sie die Daten in microsoft Editor.
乘客姓名,性别,出生日期
HuangTianhui,男,1948/05/28
姜翠云,女,1952/03/27
李红晶,女,1994/12/09
2)speichern Sie es als test.ansi-ansi-format in den Editor.
3)speichern Sie es als test.utf8 und utf-8-format in den Editor.
read.table("test.ansi",sep=",",header=TRUE) #can work fine
read.table("test.utf8",sep=",",header=TRUE) #can't work
Dann setze ich die Codierung in utf-8.
options(encoding="utf-8")
read.table("test.utf8",sep=",",header=TRUE,encoding="utf-8")
In read.table("test.utf8", sep = ",",header=TRUE,encoding = "utf-8") :
invalid input found on input connection 'test.utf8'
Wie kann ich die Daten Lesen Datei (test.utf8)?
In python ist es so einfach
rfile=open("g:\\test.utf8","r",encoding="utf-8").read()
rfile
'\ufeff乘客姓名,性别,出生日期\n\nHuangTianhui,男,1948/05/28\n\n姜翠云,女,1952/03
/27\n\n李红晶,女,1994/12/09'
rfile.replace("\n\n","\n").replace("\ufeff","").splitlines()
['乘客姓名,性别,出生日期', 'HuangTianhui,男,1948/05/28', '姜翠云,女,1952/03/27',
'李红晶,女,1994/12/09']
Python kann Arbeit besser als R.
Ich tun, wie Sathish sagen, problem gelöst, ein wenig ,es bleiben immer noch einige.
Ich fand, dass, wenn die Daten im Daten.Rahmen ,es kann nicht richtig angezeigt werden,
wenn die Daten eine Spalte mit Daten.Frames richtig angezeigt werden,
seltsam genug,wenn die Daten einer Zeile von Daten.Rahmen,es kann nicht richtig angezeigt werden .
- Es ist am besten, wenn Sie eine minimale reproduzierbare Beispiel hier, sondern als Verknüpfung an einem anderen Ort. Ich habe versucht, um Ihre UTF-8-Daten, bekam aber schnell gelangweilt von den popups und der Geschwindigkeit der website, die Sie schickte mich zu.
- Was ist der Microsoft-Agenda? Meinst du Excel?
- Versuchen Sie, mit Großbuchstaben für die encoding-string:
read.table("test.utf8", sep=",", header=TRUE, encoding="UTF-8")
- %windir%\system32\notepad.exe
- Frage bleibt,es macht mich das Gefühl, dass es muss ein Fehler in der Codierung von R ,bitte Lesen Sie meinen text,das Loch sich mehr tiefer, als Sie zu erkunden .
- Nein,ich fand, dass, wenn die Daten im Daten.Rahmen ,es kann nicht richtig angezeigt werden, wenn die Daten eine Spalte mit Daten.Rahmen ,kann es richtig angezeigt, seltsam genug,wenn die Daten einer Zeile von Daten.Rahmen,es kann nicht richtig angezeigt werden .das ist mein neues entdecken.
- gelöst,ich denke, dass R sollte verbessert werden, lösen solche Codierung problem,in python ist es einfach.
Du musst angemeldet sein, um einen Kommentar abzugeben.
OS: Windows-7 (64-bit)
R-Version:
Ändern Sie die Ländereinstellung von "Chinesisch" bis "English_United Staaten.1252"
Lesen Sie in Daten mit der chinesischen Codierung
Lesen Sie in Daten mit UTF-8-Codierung
In RStudio Version 0.98.501
Anzeigen von unicode-Daten für eine Zeile aus einem Daten-frame
Angezeigt werden chinesische Daten für eine Zeile aus einem Daten-frame
Anzeige von mehreren Spalten von Daten mit internationalen Zeichen ausgeführt werden können, durch die Umwandlung der Daten-frame in der Liste und durch zwingen, die Daten in Zeichen-format.
$V1
Eins "乘客姓名" "HuangTianhui" "姜翠云" "李红晶" "LuiChing" "宋飞飞"
Sieben "唐旭东" "YangJiabao" "买买提江·阿布拉" "安文兰" "鲍媛华" "边亮京"
[13] "边茂勤" "曹蕊" "车俊章" "陈长军" "陈建设" "陈昀"
[19] "戴淑玲" "丁立军" "丁莹" "丁颖" "董国伟" "杜文忠"
[25] "冯栋" "冯纪新" "付宝峰" "甘福祥" "甘涛" "高歌"
[31] "管文杰" "韩静" "侯爱琴" "侯波" "胡偲婠(婴儿)" "胡效宁"
[37] "黄毅" "姜学仁" "姜颖" "焦微微" "焦文学" "鞠坤"
[43] "康旭" "黎明中" "李国辉" "李洁" "李乐" "李文博"
[49] "李燕" "李宇辰" "李志锦" "李志欣" "李智" "栗延林"
[55] "梁路阳" "梁旭阳" "林安南" "林明峰" "刘凤英" "刘金鹏"
[61] "刘强" "刘如生" "刘顺超" "柳忠福" "楼宝棠" "卢先初"
[67] "鹿建华" "罗伟" "马骏" "马文芝" "毛土贵" "么立飞"
[73] "蒙高生" "孟兵" "孟凡余" "欧阳欣" "石贤文" "宋春玲"
[79] "宋坤" "苏强国" "汤雪竹" "田军伟" "田清君" "汪厚彬"
[85] "王春勇" "王纯华" "王丹" "王海涛" "王利军" "王林诗"
[91] "王墨恒(婴儿)" "王守宪" "王淑敏" "王献军" "王永刚"
$V2
Eins "性别" "男" "女" "女" "女" "男" "男" "女" "男" "女" "女" "男" "女" "女" "女" "男"
[17] "男" "女" "女" "男" "女" "女" "男" "男" "男" "男" "男" "男" "男" "女" "男" "女"
[33] "女" "男" "女" "男" "女" "男" "女" "女" "男" "男" "男" "男" "男" "女" "男" "女"
[49] "女" "男" "男" "男" "男" "男" "男" "男" "男" "男" "女" "男" "男" "男" "男" "男"
[65] "男" "男" "男" "男" "男" "女" "男" "男" "男" "男" "男" "女" "男"
$V3
Eins "出生日期" "1948/05/28" "1952/03/27" "1994/12/09" "1969/08/02" "1982/03/01" "1983/08/03" "1988/08/25"
[9] "1979/07/10" "1949/10/20" "1951/10/21" "1987/06/06" "1947/07/19" "1982/02/19" "1946/03/20" "1979/06/06"
[17] "1956/03/07" "1957/08/11" "1956/12/07" "1971/04/06" "1952/04/25" "1986/10/24" "1966/10/26" "1964/06/07"
[25] "1993/03/09" "1944/01/06" "1986/12/06" "1965/11/21" "1970/01/29" "1987/11/16" "1979/10/03" "1961/05/28"
[33] "1969/06/24" "1979/05/15" "2011/02/25" "1980/01/01" "1984/06/18" "有待确认" "1987/04/13" "1983/05/09"
[41] "1956/12/17" "1982/11/07" "1980/08/09" "1945/12/19" "1958/05/18" "1987/02/06" "1982/12/03" "1985/07/16"
[49] "1983/07/19" "1987/11/06" "1984/04/14" "1979/05/22" "1973/05/05" "1985/10/26" "1954/03/26" "1984/11/12"
[57] "1987/03/27" "1980/05/25" "1949/05/10" "1981/12/26" "1974/08/13" "1938/01/22" "1968/02/29" "1942/05/22"
[65] "1935/04/21" "1981/10/14" "1957/03/28" "1985/08/20" "1981/12/25" "1957/08/01" "1942/08/02" "1983/06/15"
[73] "1950/01/01" "1974/04/26" "1944/08/23" "1976/10/12" "1988/01/18" "1954/04/06"
In RGui (64-bit)
Anzeigen(df_ch)
Anzeigen(df_utf8)
Die gute Sache ist, Sie haben alle Daten im utf8-format für die weitere Analyse der Daten.
Sobald Sie Ihre Analyse fertig ist, können Sie die Ländereinstellung wieder auf "Chinesisch"
Einige Funktionen die Sie benötigen, um zu erforschen für die Konvertierung zwischen character-string-Codierungen.
Codierung()
iconv()
HTH
乘客姓名,性别,出生日期 HuangTianhui,男,1948/05/28 姜翠云,女,1952/03/27 李红晶,女,1994/12/09
gelesen werden als ` ï..ä1.å..å..å.. æ..å.. å.ºç.Ÿæ..期 1 HuangTianhui ç"· 1948/05/28 2 å§œç¿ äº' å¥3 1952/03/27 3 æŽçº¢æ™¶ å¥3 1994/12/09 ` altes problem, eine neue ein,gibt es keine solche Sache in python.Versuchen, ein anderes argument für Lesen.Tabelle:
fileEncoding
: