【问题标题】:Why won't read.csv read an XLS spreadsheet? [duplicate]为什么 read.csv 不读取 XLS 电子表格? [复制]
【发布时间】:2018-05-22 13:17:13
【问题描述】:

我从以下 URL 下载了一个文件:

https://www.canmoney.in/IDT.XLS

这是我的股票经纪人中符合日内交易条件的股票列表。 当我使用read.csv 阅读它时,以下是警告消息和输出:

> idt1 <- read.csv("C:/Users/user/Desktop/Rfiles/IDT1.XLS")
Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote,  :
  incomplete final line found by readTableHeader on 'C:/Users/user/Desktop/Rfiles/IDT1.XLS'
> idt1
[1] ÐÏ.à..

该文件包含 4 列和 208 行。为什么read.csv 没有正确重做文件?

非常感谢您的时间和精力......

【问题讨论】:

  • 因为 read.csv 读取 csv 文件,因为这是一个 excel 文件,请使用其他库,如 readr。使用install.packages('readr')安装,然后就可以读取excel文件了
  • 好吧,首先它不是.csv 文件。您可能应该使用适当的函数来读取.xls 文件。
  • 这是一个 excel 文件,请参见此处:stackoverflow.com/questions/7049272/…
  • @smci 在 excel 中打开并另存为 .csv 不是可重现的解决方案。有几个包可以读取 .xls/.xlsx 并且是首选方法。来自 tidyverse 的 readxl 是最常见的一种。
  • @smci 如果用户无法访问电子表格软件或需要完全包含在 R 中的解决方案(例如需要从命令行运行脚本),则无法重现跨度>

标签: r xls read.csv


【解决方案1】:

因为它不是 CSV 文件。这是一个 XLS 电子表格。 (其他人请注意:它不是 XLSX)

read.csv 仅用于读取 CSV 文件或其他格式化文本文件。

解决方案:

  1. 在 Excel 或 LibreOffice 中打开,另存为 CSV。
  2. 或者,使用 R 包之一来读取 XLS

【讨论】:

  • 嗯,我不明白为什么这需要被否决;这是一个有效的答案 imo
【解决方案2】:

试试

library(readxl)
IDT <- read_excel("C:/YOURPLACE/IDT.XLS")

【讨论】:

    猜你喜欢
    • 2012-11-20
    • 1970-01-01
    • 2013-12-31
    • 2023-01-27
    • 1970-01-01
    • 2016-07-25
    • 2020-03-18
    • 1970-01-01
    • 2018-02-10
    相关资源
    最近更新 更多