如何导入大数据集并将其放在单个列中

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 返回的实际上是一个文件指针,它使您可以访问文件的内容。它实际上并没有读入内容本身。您需要使用 freadfscanf 之类的东西来读取文本数据中的内容。

但是,我建议您改用 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