【问题标题】:Conversion of PDF file to Excel in R在 R 中将 PDF 文件转换为 Excel
【发布时间】:2019-09-04 12:19:26
【问题描述】:

我想将 pdf(2 页)转换为 excel。 pdf 由两个表资产负债表和公司的损益表组成。现在我得到了这个完美运行的在线代码(在 R 中),但是从 2 页开始,它只转换了第 2 页而不是第 1 页。我到处搜索,也尝试了不同的解决方案,但没有奏效。由于有很多这样的文件,在线转换工具也太昂贵了。谁能帮我解决这个问题。如果它可以同时转换两个页面,那就太好了。

library("pdftools")
tx1<-pdf_text("C:/Users/Snehal Salaskar/Desktop/Companies/CanFin/2013-14.pdf")
tx3<-strsplit(tx1,"\n")
lapply(tx3, function(x) write.table( data.frame(x), 'Profit.csv'  , sep=',' ))

我希望它一次转换所有 2 个页面

【问题讨论】:

  • 如果数据不是个人的,您最好在线上传数据并共享链接,例如与filedropper.com。否则,如果数据很小,dput 可以通过剪贴板获取数据的副本。但不适合大型物体。可能dput(tx3)[[1]], dput(tx3)[[2]],.. 可能工作
  • filedropper.com/2013-14。这是文件 dput 将无法工作,因为数据很大。
  • 如果我这样做 dput(tx3)[[1]], dput(tx3)[[2]] 表示意外','因为列表中只有两个对象这可能有效但它给出了这个错误。

标签: r excel pdf


【解决方案1】:

我看过 pdf,看起来需要做很多工作才能将其格式化为一张漂亮的表格。如果您只想将输出捕获到文件中,问题是您两次保存到相同的文件名

您可以保存到两个文件中,也可以使用append=TRUE 将它们都保存到一个文件中,例如

# save to two files
lapply(seq_along(tx3), function(i){
  write.table( data.frame(tx3[[i]]), sprintf('Profit_%s.csv', i), sep=',' )
}) 

# save to single file with append=TRUE adding on the data
lapply(seq_along(tx3), function(i){
  write.table( data.frame(tx3[[i]]), sprintf('Profit.csv', i), sep=',' ,
               append = TRUE)
}) 

我更喜欢使用seq_along 的索引而不是lapply 中的对象本身,因为它会给我一个标识符号以及对象,以添加到文件名中

【讨论】:

  • 好吧,我所做的就是将 append = true 放在我之前的代码本身中,并将两个列表打印在一个文件中,尽管在转换后进行了大量编辑。我也会试试这个并检查一下。感谢您的帮助,将尝试这个。
猜你喜欢
  • 1970-01-01
  • 2016-04-07
  • 1970-01-01
  • 2012-11-30
  • 2014-12-03
  • 2013-10-05
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
相关资源
最近更新 更多