Считайте набор или последовательность текстовых файлов

Когда ваши данные хранятся через несколько текстовых файлов, можно использовать tabularTextDatastore управлять и импортировать данные. В этом примере показано, как использовать tabularTextDatastore считывать данные из набора текстовых файлов все вместе или читать один файл за один раз.

Данные

В данном примере папка C:\DataTxt содержит набор текстовых файлов. Получите это местоположение в переменной location. Данные содержат 10 текстовые файлы, где каждый файл содержит 10 строки данных. Результаты отличаются на основе ваших файлов и данных.

location = 'C:\DataTxt';
dir(location)
.           File01.csv  File03.csv  File05.csv  File07.csv  File09.csv  
..          File02.csv  File04.csv  File06.csv  File08.csv  File10.csv  

Создание Datastore

Создайте datastore с помощью местоположения файлов.

ds = tabularTextDatastore(location)
ds = 
  TabularTextDatastore with properties:

                      Files: {
                             'C:\DataTxt\File01.csv';
                             'C:\DataTxt\File02.csv';
                             'C:\DataTxt\File03.csv'
                              ... and 7 more
                             }
               FileEncoding: 'UTF-8'
   AlternateFileSystemRoots: {}
          ReadVariableNames: true
              VariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
             DatetimeLocale: en_US

  Text Format Properties:
             NumHeaderLines: 0
                  Delimiter: ','
               RowDelimiter: '\r\n'
             TreatAsMissing: ''
               MissingValue: NaN

  Advanced Text Format Properties:
            TextscanFormats: {'%q', '%q', '%f' ... and 7 more}
                   TextType: 'char'
         ExponentCharacters: 'eEdD'
               CommentStyle: ''
                 Whitespace: ' \b\t'
    MultipleDelimitersAsOne: false

  Properties that control the table returned by preview, read, readall:
      SelectedVariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
            SelectedFormats: {'%q', '%q', '%f' ... and 7 more}
                   ReadSize: 20000 rows

Считайте данные из Datastore

Используйте read или readall функции, чтобы импортировать данные от datastore. Если данные из набора помещаются в память, можно импортировать все это целиком использование readall функция.

allData = readall(ds);
size(allData)
ans = 1×2

   100    10

В качестве альтернативы импортируйте данные один файл во время с помощью read функция. Чтобы управлять импортированным объемом данных, прежде чем вы вызовете чтение, настраивают ReadSize свойство datastore. Установите ReadSize к 'file' или положительное целое число.

  • Если ReadSize isfile, затем каждый вызов read считывает все данные один файл за один раз.

  • Если ReadSize положительное целое число, затем каждый вызов read читает количество строк, заданных ReadSize, или меньше, если это достигает конца данных.

ds.ReadSize = 'file';
firstFile = read(ds) % reads first file
firstFile=10×10 table
     LastName      Gender     Age             Location              Height    Weight    Smoker     Systolic    Diastolic    SelfAssessedHealthStatus
    __________    ________    ___    ___________________________    ______    ______    _______    ________    _________    ________________________

    'Smith'       'Male'      38     'County General Hospital'        71       176      'TRUE'       124          93              'Excellent'       
    'Johnson'     'Male'      43     'VA Hospital'                    69       163      'FALSE'      109          77              'Fair'            
    'Williams'    'Female'    38     'St. Mary's Medical Center'      64       131      'FALSE'      125          83              'Good'            
    'Jones'       'Female'    40     'VA Hospital'                    67       133      'FALSE'      117          75              'Fair'            
    'Brown'       'Female'    49     'County General Hospital'        64       119      'FALSE'      122          80              'Good'            
    'Davis'       'Female'    46     'St. Mary's Medical Center'      68       142      'FALSE'      121          70              'Good'            
    'Miller'      'Female'    33     'VA Hospital'                    64       142      'TRUE'       130          88              'Good'            
    'Wilson'      'Male'      40     'VA Hospital'                    68       180      'FALSE'      115          82              'Good'            
    'Moore'       'Male'      28     'St. Mary's Medical Center'      68       183      'FALSE'      115          78              'Excellent'       
    'Taylor'      'Female'    31     'County General Hospital'        66       132      'FALSE'      118          86              'Excellent'       

secondFile = read(ds) % reads second file
secondFile=10×10 table
     LastName      Gender     Age             Location              Height    Weight    Smoker     Systolic    Diastolic    SelfAssessedHealthStatus
    __________    ________    ___    ___________________________    ______    ______    _______    ________    _________    ________________________

    'Anderson'    'Female'    45     'County General Hospital'        68       128      'FALSE'      114          77              'Excellent'       
    'Thomas'      'Female'    42     'St. Mary's Medical Center'      66       137      'FALSE'      115          68              'Poor'            
    'Jackson'     'Male'      25     'VA Hospital'                    71       174      'FALSE'      127          74              'Poor'            
    'White'       'Male'      39     'VA Hospital'                    72       202      'TRUE'       130          95              'Excellent'       
    'Harris'      'Female'    36     'St. Mary's Medical Center'      65       129      'FALSE'      114          79              'Good'            
    'Martin'      'Male'      48     'VA Hospital'                    71       181      'TRUE'       130          92              'Good'            
    'Thompson'    'Male'      32     'St. Mary's Medical Center'      69       191      'TRUE'       124          95              'Excellent'       
    'Garcia'      'Female'    27     'VA Hospital'                    69       131      'TRUE'       123          79              'Fair'            
    'Martinez'    'Male'      37     'County General Hospital'        70       179      'FALSE'      119          77              'Good'            
    'Robinson'    'Male'      50     'County General Hospital'        68       172      'FALSE'      125          76              'Good'            

Смотрите также

| | | | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте