簡體   English   中英

將 DataFrame 轉換為 R 中的字符串

[英]Convert DataFrame to String in R

我有一個 dataframe 格式為 excel (還有更多名稱):

學生姓名
約翰·馬丁
史蒂夫·約翰遜
愛麗絲克萊默
麗莎格林
錢德勒漢斯

. . .

我必須將這些名稱放在 SQL 查詢中,我需要它們以以下格式作為字符串:

“約翰·馬丁”、“史蒂夫·約翰遜”、“愛麗絲·克萊默”、“麗莎·格林”、“錢德勒·漢斯”

我的方法:

students<-read_xlsx("students.xlsx")
students<-paste0(students,collapse=",")

這不起作用,因為這會在 output (\) 中產生反斜杠。 即使使用 shQuote 也會給出反斜杠。

如果我直接聲明它,我會得到在 SQL 查詢中工作的所需輸入,(只是一個例子,我不能使用它,因為名稱不斷變化)

students<-c('John Martin','Steve Johnson','Alice Cramer','Lisa Green','Chandler Hans')
students<-toString(sprintf("'%s'",students)

有沒有辦法 go 關於它?

您可以使用dput

dput(rownames(mtcars))
#> c("Mazda RX4", "Mazda RX4 Wag", "Datsun 710", "Hornet 4 Drive", 
#> "Hornet Sportabout", "Valiant", "Duster 360", "Merc 240D", "Merc 230", 
#> "Merc 280", "Merc 280C", "Merc 450SE", "Merc 450SL", "Merc 450SLC", 
#> "Cadillac Fleetwood", "Lincoln Continental", "Chrysler Imperial", 
#> "Fiat 128", "Honda Civic", "Toyota Corolla", "Toyota Corona", 
#> "Dodge Challenger", "AMC Javelin", "Camaro Z28", "Pontiac Firebird", 
#> "Fiat X1-9", "Porsche 914-2", "Lotus Europa", "Ford Pantera L", 
#> "Ferrari Dino", "Maserati Bora", "Volvo 142E")

所以如果你有一個向量說students ,那么

dput(students)
#> c("John Martin", "Steve Johnson", "Alice Cramer", "Lisa Green", 
#> "Chandler Hans")

代表 package (v2.0.1) 於 2022 年 8 月 29 日創建

你可以這樣做:

paste0("'",students,"'",collapse = ",")

Output:

[1] "'John Martin','Steve Johnson','Alice Cramer','Lisa Green','Chandler Hans'"

使用的數據:

students<-c('John Martin','Steve Johnson','Alice Cramer',
            'Lisa Green','Chandler Hans')

> students
[1] "John Martin"   "Steve Johnson" "Alice Cramer"  "Lisa Green"    "Chandler Hans"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM