错误查找并上传八度空间的文件

问题描述 投票:0回答:1

我试着将我的.csv文件转换为.dat格式,并试图将文件加载到Octave中。它抛出了一个错误。

unable to find file filename

我还尝试使用语法加载.csv格式的文件。

x = csvread(filename)

然后它就抛出了这个错误。

'filename' undefined near line 1 column 13.

我还试着在编辑器上打开文件,然后加载它,现在显示的是

warning: load: 'filepath' found by searching load path
error: load: unable to determine file format of 'Salary_Data.dat'.

如何加载我的数据?

>> load Salary_Data.dat

error: load: unable to find file Salary_Data.dat
>> Salary_Data

error: 'Salary_Data' undefined near line 1 column 1
>> Salary_Data

error: 'Salary_Data' undefined near line 1 column 1
>> Salary_Data

error: 'Salary_Data' undefined near line 1 column 1
>> x = csvread(Salary_Data)
error: 'Salary_Data' undefined near line 1 column 13
>> x = csvread(Salary_Data.csv)
error: 'Salary_Data' undefined near line 1 column 13
>> load Salary_Data.dat

warning: load: 'C:/Users/vaith/Desktop\Salary_Data.dat' found by searching load path
error: load: unable to determine file format of 'Salary_Data.dat'
>> load Salary_Data.csv
warning: load: 'C:/Users/vaith/Desktop\Salary_Data.csv' found by searching load path
error: load: unable to determine file format of 'Salary_Data.csv'

Salary_Data.csv

YearsExperience,Salary
1.1,39343.00
1.3,46205.00
1.5,37731.00
2.0,43525.00
2.2,39891.00
2.9,56642.00
3.0,60150.00
3.2,54445.00
3.2,64445.00
3.7,57189.00
3.9,63218.00
4.0,55794.00
4.0,56957.00
4.1,57081.00
4.5,61111.00
4.9,67938.00
5.1,66029.00
5.3,83088.00
5.9,81363.00
6.0,93940.00
6.8,91738.00
7.1,98273.00
7.9,101302.00
8.2,113812.00
8.7,109431.00
9.0,105582.00
9.5,116969.00
9.6,112635.00
10.3,122391.00
10.5,121872.00
octave
1个回答
1
投票

好吧,你在这里遇到了一大堆问题。

如果你不给我们错误信息而不提供产生错误信息的命令,那会有帮助。

第一条信息意味着你告诉Octave打开了一个叫做 文件名 而它却找不到任何叫做 文件名.你定义了变量文件名吗? 你的第二条命令和错误信息表明你没有.

你知道八度空间的工作目录是什么吗?和文件所在的位置一样吗?从你加载命令的响应来看,我猜不是。 文件的位置是C:UsersvaithDesktop。 Octave的工作目录可能在别的地方。

(试试 pwd 命令,看看它告诉你什么。使用文件浏览器或 cd 命令,用于导航到与文件相同的位置。)

的加载命令,用作命令(load file.txt)可以接受一个定义为或不定义为字符串的输入。 一个函数格式 ( load('file.txt')csvread('file.txt') )必须是一个字符串输入。 因此,你所有的csvread输入命令都认为你给它的是变量名,而不是文件名。

最后,事实上 load 无法读取你的数据并不过分惊讶。 它试图猜测它是什么样的文件以及如何加载它。 我假设你试过 help load 你可以给它不同的选项来帮助它找出答案。 但如果它实际上是一个csv文件,而且都是数字而不是文本,那么它就会 csvread 如果你正确使用的话,可能还是你最好的选择。 help csvread 对你来说,这将是很好的信息。

看起来你有一个头行,可能是混淆加载命令。对于简单格式化的数据,csvread命令将带来数据。它将用0替换你的头文字。

所以,首先,导航到文件的位置。

>> cd C:/Users/vaith/Desktop

然后打开文件

>> mydata = csvread('Salary_Data.csv')
mydata =

       0.00000       0.00000
       1.10000   39343.00000
       1.30000   46205.00000
       1.50000   37731.00000
       2.00000   43525.00000
       ...

如果你打算重复使用文件名, 你可以把它分配给一个变量,然后打开文件。

>> myfile = 'Salary_Data.csv'
myfile = Salary_Data.csv

>> mydata = csvread(myfile)
mydata =

       0.00000       0.00000
       1.10000   39343.00000
       1.30000   46205.00000
       1.50000   37731.00000
       2.00000   43525.00000
       ...

请注意,文件名是如何存储的,并作为一个带引号的字符串使用,但变量名不是。 另外。csvread 将非数字头信息转换为 "0"。的帮助。csvreaddlmread 告诉你如何将其改为零以外的其他值,或者跳过一定数量的行。如果你想保留文本,你将不得不使用其他输入函数。

© www.soinside.com 2019 - 2024. All rights reserved.