Extraire un tableau d'une feuille de calcul sous une certaine condition

John PS

J'ai des centaines de fichiers Excel (.xls) et chacun d'eux a (sur une ligne aléatoire) une "table", qui a trois colonnes chacune (Station, Paramètre et Unité). Je veux écrire un script qui lit tous les fichiers et quand il lit ces trois cellules (Station, Paramètre, Unité) ensemble sur une seule ligne, il commence à copier chaque ligne ci-dessous jusqu'à ce qu'elle atteigne la fin du tableau. À la fin de chaque table, il y a toujours trois NA. Mais la fin du tableau n'est pas la fin du fichier, il y a plus de données ci-dessous, mais je ne veux pas de ça.

Mon plus gros problème est que puisque je ne sais pas dans chaque ligne le tableau sera, je dois dire à R de lire toutes les lignes et de le détecter, ce que je ne peux pas faire.

Ci-dessous, j'ai visualisé un exemple de table et j'ai également écrit le code pour que vous puissiez le reproduire dans R.

|NA |NA |NA | | Station | Parameter | Unit | |EST1 | P1 |M | |NA | P2 |KM | |NA | P3 |MM | |EST2 | P1 |M | |NA | P2 |KM | |NA | P3 |MM | |EST3 | P1 |M | |NA | P2 |KM | |NA | P3 |MM | |NA |NA |NA |

code pour reproduire le tableau:

a= c(NA, 'Station', 'EST1', NA, NA, "EST2", NA, NA, "EST3", NA, NA, NA)

b= c(NA, 'Parameter', 'P1', 'P2', 'P3', 'P1', 'P2', 'P3','P1','P2','P3', NA)

c= c(NA, 'Unit', 'M', 'KM', 'MM','M', 'KM', 'MM','M', 'KM', 'MM', NA)

data =(data.frame(a,b,c))
rafa.pereira

Cela fera peut-être l'affaire, en supposant que la Parametercolonne n'en a pas NAs.

library(magrittr)

# find start and ending row of the table
starting_row <- row(data)[which(data$a == "Station"), ][1]
ending_row <- row(data)[which(is.na(data$b)), ][,1] %>% max() -1


# slice the data
table1 <- data[ starting_row:ending_row, ]

table1
>         a         b    c
> 2  Station Parameter Unit
> 3     EST1        P1    M
> 4     <NA>        P2   KM
> 5     <NA>        P3   MM
> 6     EST2        P1    M
> 7     <NA>        P2   KM
> 8     <NA>        P3   MM
> 9     EST3        P1    M
> 10    <NA>        P2   KM
> 11    <NA>        P3   MM

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

exportation d'une certaine feuille de calcul d'un classeur au format PDF

Analyser une feuille de calcul Google dans un tableau Javascript

Comment faire correspondre le nom d'une feuille de calcul à une certaine entrée? (VBA)

Comment écrire rapidement un tableau d'objets dans une colonne de feuille de calcul?

Impression d'un tableau imbriqué dans des colonnes dans une feuille de calcul

Extraire des données d'une feuille de calcul et les insérer dans un modèle?

Existe-t-il un moyen d'extraire automatiquement une ligne dans une autre feuille de calcul si la cellule correspond à sa cellule de compteur dans Excel?

Comment passer une variable de feuille de calcul à un autre sous

r: ajouter un jour à une variable de date sous une certaine condition

Extraire une valeur d'index unique (de chaque sous-tableau) d'un tableau multidimensionnel à plusieurs clés

Créer un tableau de fréquences à partir de deux colonnes en fonction d'une certaine condition

Comment écrire un tableau Python dans une feuille de calcul Excel

Comment intégrer une image d'une feuille de calcul dans un courrier électronique Outlook

Déclarer une variable égale à un nom de feuille de calcul, pour référencer une table dans cette feuille

Comment écrire un dataframe sous une feuille Excel existante sans perdre le slicer d'Excel dans la feuille de tableau croisé dynamique?

Utilisation d'une feuille de calcul existante comme modèle de feuille de calcul PHP

Un moyen efficace de multiplier deux dataframes en fonction d'une condition sur une certaine colonne

Télécharger une feuille de calcul à partir d'un lien en Python

API Google Sheets: créer ou déplacer une feuille de calcul dans un dossier

Comment exporter tous les enregistrements d'un formulaire vers une feuille de calcul Excel

recherche d'une feuille de calcul cible pour l'action dans un fichier twb (xml)

VBA Insertion d'une feuille de calcul Excel complexe dans un document .doc

Créer un formulaire / quiz Google à partir d'une feuille de calcul Google

Comment enregistrer une feuille de calcul dans un nouveau classeur?

Reproduire les données d'une feuille de calcul principale vers des sous-feuilles de calcul en fonction du nombre dans une colonne de la feuille de calcul principale

Comment supprimer tous les boutons d'une feuille de calcul?

Existe-t-il un moyen d'insérer une macro dans une feuille de calcul à partir d'Excel Addin?

Écho d'une certaine valeur d'un tableau - PHP cURL

Écrire dans une feuille de calcul dans une feuille Google à partir d'ASP.NET

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    Pandas의 CSV 파일을 Pandas 데이터 프레임으로 가져 오기

  3. 3

    uitableview delete button image in iOS

  4. 4

    Manera correcta de agregar referencias al proyecto C # de modo que sean compatibles con el control de versiones

  5. 5

    Swift / Firebase : Facebook 사용자가 계정을 만들 때 Firebase 데이터베이스에 제대로 저장하려면 어떻게해야합니까?

  6. 6

    caída condicional de filas desde un marco de datos de pandas

  7. 7

    Link library in Visual Studio, why two different ways?

  8. 8

    Pagination class not getting applied in html

  9. 9

    Que signifie Decimal (-1)?

  10. 10

    UIButton textLabel with different fonts

  11. 11

    WPF pleine largeur DataGridColumn sur la largeur de DataGrid

  12. 12

    Opción de máquina virtual no reconocida 'MaxPermSize = 512m' cuando se ejecuta Zeppelin

  13. 13

    matplotlib로 그래프를 그리는 동안 커서 위치에서 날짜 / 시간을 볼 수 없습니다. "DateFormatter에서 x = 0 값을 찾았습니다"라는 오류가 발생합니다.

  14. 14

    ¿Es posible en Windows evitar que otras aplicaciones se enganchen en las DLL del sistema?

  15. 15

    Error de la base de datos de Android Firebase: Permiso denegado al depurar en un teléfono

  16. 16

    Pandas: suma filas de DataFrame para columnas dadas

  17. 17

    ggplot2: gráfico con líneas y puntos para problemas de leyenda de dos conjuntos de datos

  18. 18

    ¿Cómo especificar el puerto en el que se aloja una aplicación ASP.NET Core?

  19. 19

    Recherche de la position d'index d'une valeur dans r dataframe

  20. 20

    GPU를 사용하여 ffmpeg 필터의 처리 속도를 가속화하는 방법은 무엇입니까?

  21. 21

    nested observables executed one after the other after termination

CalienteEtiquetas

Archivo