请考虑 PDF 文件中的下表:
我可以使用以下代码下载并提取表格:
url <- "https://www.fenabrave.org.br/portal/files/2023_01_2.pdf"
download.file(url, 'cars.pdf', mode="wb")
library(tabulapdf)
df <- extract_tables(
'cars.pdf',
pages = 27,
area = list(c(126.4826, 96.5997, 782.1684, 297.9600)),
guess = FALSE)
bind_rows() |>
set_names(c("Model","Quantity"))
不幸的是,该函数将数量读取为双精度类型并删除最后的所有零。
我可以添加以下代码来改变它的类:
df <- extract_tables(
'cars.pdf',
pages = 27,
area = list(c(126.4826, 96.5997, 782.1684, 297.9600)),
guess = FALSE) |>
bind_rows() |>
set_names(c("Model","Quantity"))|>
mutate(Quantity = gsub("\\.", "", Quantity))|>
mutate(Quantity = as.integer(Quantity))
但损失已经造成:2.830变成了283;1.220变成了122。
有没有办法让数据被读取为字符?