如何导入大数据集并将其放在单个列中
How to import large dataset and put it in a single column
我想使用以下代码导入大数据集(多列)。我想把所有的都放在一列而不是一行(多列)中。所以我做了转置操作,但它仍然不能正常工作。
clc
clear all
close all
dataX_Real = fopen('dataX_Real_in.txt');dataX_Real=dataX_Real';
非常感谢您的支持和建议。谢谢你
可以使用以下 link.
找到示例文件
使用fopen
时,您所做的只是打开文件。您没有阅读数据。 fopen
返回的实际上是一个文件指针,它使您可以访问文件的内容。它实际上并没有读入内容本身。您需要使用 fread
或 fscanf
之类的东西来读取文本数据中的内容。
但是,我建议您改用 dlmread
,因为这不需要调用 fopen
来打开您的文件。这将打开文件,读取内容并在一个函数调用中将其存储到一个变量中:
dataX_Real = dlmread('dataX_Real_in.txt');
通过执行上述操作并使用您的文本文件,我得到了 44825 个元素。以下是您数据的前 10 个条目:
>> format long;
>> dataX_Real(1:10)
ans =
Columns 1 through 4
-0.307224970000000 0.135961950000000 -1.072544100000000 0.114566020000000
Columns 5 through 8
0.499754310000000 -0.340369000000000 0.470609910000000 1.107567700000000
Columns 9 through 10
-0.295783020000000 -0.089266816000000
似乎与我们在您的文本文件中看到的一致!但是,您说您希望它作为一个列。默认情况下,这会逐行读取值,因此您当然可以在这里转置:
dataX_Real = dataX_Real.';
显示前 10 个元素,我们得到:
>> dataX_Real = dataX_Real.';
>> dataX_Real(1:10)
ans =
-0.307224970000000
0.135961950000000
-1.072544100000000
0.114566020000000
0.499754310000000
-0.340369000000000
0.470609910000000
1.107567700000000
-0.295783020000000
-0.089266816000000
我想使用以下代码导入大数据集(多列)。我想把所有的都放在一列而不是一行(多列)中。所以我做了转置操作,但它仍然不能正常工作。
clc
clear all
close all
dataX_Real = fopen('dataX_Real_in.txt');dataX_Real=dataX_Real';
非常感谢您的支持和建议。谢谢你 可以使用以下 link.
找到示例文件使用fopen
时,您所做的只是打开文件。您没有阅读数据。 fopen
返回的实际上是一个文件指针,它使您可以访问文件的内容。它实际上并没有读入内容本身。您需要使用 fread
或 fscanf
之类的东西来读取文本数据中的内容。
但是,我建议您改用 dlmread
,因为这不需要调用 fopen
来打开您的文件。这将打开文件,读取内容并在一个函数调用中将其存储到一个变量中:
dataX_Real = dlmread('dataX_Real_in.txt');
通过执行上述操作并使用您的文本文件,我得到了 44825 个元素。以下是您数据的前 10 个条目:
>> format long;
>> dataX_Real(1:10)
ans =
Columns 1 through 4
-0.307224970000000 0.135961950000000 -1.072544100000000 0.114566020000000
Columns 5 through 8
0.499754310000000 -0.340369000000000 0.470609910000000 1.107567700000000
Columns 9 through 10
-0.295783020000000 -0.089266816000000
似乎与我们在您的文本文件中看到的一致!但是,您说您希望它作为一个列。默认情况下,这会逐行读取值,因此您当然可以在这里转置:
dataX_Real = dataX_Real.';
显示前 10 个元素,我们得到:
>> dataX_Real = dataX_Real.';
>> dataX_Real(1:10)
ans =
-0.307224970000000
0.135961950000000
-1.072544100000000
0.114566020000000
0.499754310000000
-0.340369000000000
0.470609910000000
1.107567700000000
-0.295783020000000
-0.089266816000000