我有一个包含大量数据的Excel文件.在Excel中的内置图形是不足够的,分析这些数据,所以我想使用诸如八度或R.一些工具
我正在考虑将Excel文件直接加载到octave或R中的一些方法.我搜索了网络,发现许多人通过将Excel中的数据导出到CSV文件中成功使用.
问题:是否有直接的方法在R或Octave中加载Excel文件?
我需要使用Delphi 2010读取和写入Excel电子表格.没什么特别的.只需在不同的纸张上读取和写入特定单元格和范围的值.需要在没有安装Excel的情况下工作并支持Excel 2007.
我看过的一些事情:
我已经尝试过使用ADO,它可以在整张表中选择所有内容,但我没有太多运气阅读特定的单元格或范围.
NativeExcel看起来很有前途,但它似乎没有积极开发,并且它们不响应电子邮件.
有什么建议?免费会很棒,但只要它可靠且得到很好的支持,我就会对商业解决方案持开放态度.
我正在尝试用PHPExcel1.7.3c读取一个17MB的excel文件(2003),但是在超过120秒的限制后,它在加载文件时已经崩溃了.是否有其他库可以更有效地完成它?我不需要造型,我只需要它来支持UTF8.谢谢你的帮助
在过去的一年里我使用过R来做各种各样的事情,但是由于可用的软件包和功能的数量,我仍然是一个初学者.我相信R会允许我用最少的代码做我想做的事,但我很挣扎.
我有大约一百个不同的excel文件,其中包含学生的数据.每个excel文件代表不同的学校,但包含相同的变量.我需要:
- 从Excel导入数据到R中
- 将变量添加到包含文件名的每个文件
- 合并所有数据(添加观察/行 - 不需要匹配变量)
我需要为多组数据执行此操作,因此我尝试使其尽可能简单且易于复制.
行1 标题
行2 StudentID VAR1 VAR2 VAR3 VAR4 VAR5
行3 11234 1 2011/9/8 343 159-167 32
行4 11235 2 2011/9/16 112 152-160 12
行5 11236 1 2011/9/8 325 164 -171 44
第1行没有意义,第2行包含变量名.文件具有不同的行数.
起初我只是尝试从excel导入数据.使用XLSX包,这很好用:
dat <- read.xlsx2("FILENAME.xlsx", sheetIndex=1,
sheetName=NULL, startRow=2,
endRow=NULL, as.data.frame=TRUE,
header=TRUE)
Run Code Online (Sandbox Code Playgroud)
接下来,我把重点放在搞清楚如何合并文件(也认为这是我应该的文件名变量添加到数据文件).这是我被卡住的地方.
setwd("FILE_PATH_TO_EXCEL_DIRECTORY")
filenames <- list.files(pattern=".xls")
do.call("rbind", lapply(filenames, read.xlsx2, sheetIndex=1, colIndex=6, header=TRUE, startrow=2, FILENAMEVAR=filenames));
Run Code Online (Sandbox Code Playgroud)
我把我的目录,使所有的文件夹中的Excel文件名列表,然后尝试使用变量作为文件名,以将它们合并在一个语句.
当我这样做时,我收到以下错误:
data.frame(res,...)中的错误:参数意味着行数不同:616,1,5 …
问题很简单.每周我都会收到一堆密码保护的excel文件.我必须解析它们并使用Python将某些部分写入新文件.我获得了文件的密码.
这在Windows上完成时很容易处理,我可以导入win32com并使用client.Dispatch.但是我们现在将所有代码都移到linux上,所以对我来说不再是win32com.
有没有办法在Linux上的python中打开和读取受密码保护的Excel工作表中的数据?
我一直在寻找打开密码保护的excel文件的简单方法,但没有运气.我也试图找到一种方法来删除密码保护,所以我可以使用xlrd,就像我在一个没有密码保护的文件上那样,但也没有运气.
非常感激任何的帮助.
我正在尝试从中下载.xlsx文件eia并收到以下错误.
错误是: "Error: ZipException (Java): invalid entry size (expected 2385 but got 2390 bytes)"
我试过以下代码:
library(XLConnect)
tmp = tempfile(fileext = ".xlsx")
download.file(url = "http://www.eia.gov/petroleum/drilling/xls/dpr-data.xlsx", destfile = tmp)
readWorksheetFromFile(file = tmp, sheet = "Eagle Ford Region", header = FALSE, startRow = 9, endRow = 151)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了其他建议: 使用URL中的XLConnect包将Excel文件读入R中
我使用下面的代码导出xls文件abd它是工作文件但我的问题是当我尝试使用require"XLS/Excel/reader.php"库读取文件时它返回错误"文件不可重写".当我保存为导出xls文件并尝试导入它工作.
Run Code Online (Sandbox Code Playgroud)function xlsBOF() { echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0); } function xlsEOF() { echo pack("ss", 0x0A, 0x00); } function xlsWriteNumber($Row, $Col, $Value) { echo pack("sssss", 0x203, 14, $Row, $Col, 0x0); echo pack("d", $Value); } function xlsWriteLabel($Row, $Col, $Value) { $L = strlen($Value); echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L); echo $Value; } // prepare headers information header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/xls"); header("Content-Disposition: attachment; filename=test.xls"); header("Content-Transfer-Encoding: binary"); header("Pragma: no-cache"); header("Expires: 0"); // start exporting …
我正在开发一个应用程序,它使用带有SAX的Open XML解析xlsx文件中的工作表中的行.但是,我正在测试我的实现,其中包含一个空行的电子表格.我想在循环遍历工作表中的行时跳过我可能找到的所有空行.
例如,我有以下电子表格
我使用Open XML Productivity工具打开了电子表格,我发现遍布空单元格的行只有一个单元格在标记中.该单元格具有一个名为"s"的属性,其他具有单元格值的单元格似乎没有.
我想知道代码中是否有一种方法可以找出给定的行是否为空.到目前为止,我要通过工作表中的行进行以下操作:
do{
if (reader.ElementType == typeof(Row))
{
reader.ReadFirstChild();
Type generatedType = typeBuilder.CreateType();
object generatedObject = Activator.CreateInstance(generatedType);
PropertyInfo[] properties = generatedType.GetProperties();
int propertiesCounter = 0;
// Read all the cells in the row.
do
{
if (reader.ElementType == typeof(Cell))
{
c = (Cell)reader.LoadCurrentElement();
if (c.DataType != null
&& c.DataType.HasValue
&& c.DataType == CellValues.SharedString
&& int.Parse(c.CellValue.InnerText) < ssTable.ChildElements.Count)
{
value = ssTable.ChildElements[int.Parse(c.CellValue.InnerText)].InnerText ?? string.Empty;
}
else
{
if (c.CellValue != null && c.CellValue.InnerText != null)
{ …Run Code Online (Sandbox Code Playgroud) 我创建了一个函数来检查文件扩展名和导入的Excel文件。我在2台不同的PC上运行了相同的源代码。
PC-1配置:
PC-2配置:
我的Excel文件是由Google Spreadsheet创建的,并作为扩展名为.xlsx的MS Office文件导出。
在PC-1中,当我调试$_FILES['file']['type'];值时,得到扩展名:
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
Run Code Online (Sandbox Code Playgroud)
但是在PC-2上,我收到了:
'application/octet-stream'
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么使用相同的源,相同的导入文件,只是在不同的环境下,调试输出是否显示不同的文件扩展名?是安装MS Office的原因吗?
我有一个关于将xlsx文件导入Python的基本问题.我已经检查了很多关于同一主题的回复,但是无论我尝试什么,我仍然无法将我的文件导入Python.这是我的代码和我收到的错误:
import pandas as pd
import xlrd
file_location = 'C:\Users\cagdak\Desktop\python_self_learning\Coursera\sample_data.xlsx'
workbook = xlrd.open_workbook(file_location)
Run Code Online (Sandbox Code Playgroud)
错误:
IOError: [Errno 2] No such file or directory: 'C:\\Users\\cagdak\\Desktop\\python_self_learning\\Coursera\\sample_data.xlsx'
Run Code Online (Sandbox Code Playgroud)