Pour un fichier dans fichiers :

Ceci est ma liste qui se compose des valeurs de 3 fichiers après chaque itération.

import pandas                                                                                   files = [r"C:\Users\Anjana\Documents\radar\HeightVsDopplr\EXP_DBS_CH4_24Apr2017_10_49_10_Beam2_W1_Az_90.00_Oz_10.00.mmts",r"C:\Users\Anjana\Documents\radar\HeightVsDopplr\EXP_DBS_CH4_24Apr2017_10_49_10_Beam4_W1_Az_180.00_Oz_10.00.mmts", r"C:\Users\Anjana\Documents\radar\HeightVsDopplr\EXP_DBS_CH4_24Apr2017_10_49_10_Beam1_W1_Az_0.00_Oz_0.00.mmts"]                                                                      
for file in files:
    if file.endswith(".mmts"):                                                                          
        csvfiles.append(str(file))                                                                               
a = pd.read_csv(file)
x = list(a0[:][:]['Mean'])           
matrix = np.empty((a0.shape[0],3))
matrix.fill(np.nan)

J'ai besoin de la sortie un peu comme ça

  • matrice (ligne1, col1) doit être la valeur de la première valeur du fichier 1
  • matrice (ligne2, col1) doit être la valeur de la première valeur du fichier 2
  • matrix(row3,col1) doit être la valeur de la première valeur de l'exemple d'entrée du fichier 3:

fichier 1

+--------+----------+
| Hauteur | Moyenne |
+--------+----------+
| 3,33 | -0.41005 |
+--------+----------+
| 3,51 | 0,15782 |
+--------+----------+
| 3,69 | 0,12896 |
+---------+----------+

fichier 2

+---------+--------+
| Hauteur | Moyenne |
+---------+--------+
| 3,33 | 1.8867 |
+---------+--------+
| 3,51 | 2.3108 |
+---------+--------+
| 3,69 | 2.5924 |
+---------+--------+

production

array[-0.41005,0.15782 ,0.12896]
      [1.8867 ,2.3108 ,2.5924]
0
AnjanaJoseph 14 mars 2019 à 12:32

2 réponses

Meilleure réponse

Votre question manque de contexte, donc je suppose que

  1. Vous avez trois fichiers à lire.

J'ai donc 3 fichiers, a.txt, b.txt, c.txt.

a.txt

1
2
3

b.txt

paul
sleeba
harry

a.txt

23
25
34
  1. Vous devez obtenir un accès individuel au contenu de ces fichiers afin de pouvoir les inscrire dans des colonnes particulières.
with open("a.txt", "r") as a, open("b.txt", "r") as b, open("c.txt", "r") as c:
    num = a.readlines()
    name = b.readlines()
    age = c.readlines()

print(num[0], name[0], age[0])

Production

1
paul
23

Je vois que vous utilisez numpy, mais je ne peux pas m'en empêcher car l'intrigue de la question n'aide guère à comprendre le contexte.


Mise à jour : je ne comprends toujours pas votre confusion avec différents fichiers car la question est vague, mais suivez le code pour chaque colonne d'un fichier.

Mon csv

enter image description here

import pandas as pd
import numpy as np
a = pd.read_csv("data.csv")
out_list = [] 

for col in a.columns.values:  
    out_list.append(list(a[col]))

out_list = np.array(out_list)
print(out_list)

Production

array([['All industries  ', 'All industries  ', 'All industries  ',
        'All industries  ', 'All industries  ', 'All industries  ',
        'All industries  ', 'All industries  ', 'All industries  ',
        'All industries  '],
       ['H01', 'H04', 'H05', 'H07', 'H08', 'H09', 'H10', 'H11', 'H12',
        'H12'],
       ['644159', '567080', '59317', '17762', '560665', '33474', '6890',
        '18730', '99874', '99874']], dtype='<U16')

MISE À JOUR : À partir de différents fichiers

out_list = [] 

files = ["1.csv", "2.csv"]
for file in files:
    df = pd.read_csv(file)
    out_list.append(list(df["Mean"]))

out_list = np.array(out_list)
out_list

Production

array([[-0.41005,  0.15782,  0.12896],
       [ 1.8867 ,  2.3108 ,  2.5924 ]])
0
Sleeba Paul 16 mars 2019 à 07:48

Votre question est très générale. Essayez de fournir un exemple vérifiable complet minimal sinon il est difficile de vous aider.

Qu'y a-t-il dans les fichiers ? Chaque ligne est-elle un nombre ? Trop peu d'informations.

En Python, vous pouvez utiliser plusieurs variables d'itération.

#open the files first
f1 = open("file1", "r")
f2 = open("file2", "r")
f3 = open("file3", "r")

#Assuming the files have the same number of lines:
for linef1, linef2, linef3 in zip(file1,file2,file3):
    #Assuming each line is a number
    matrix[i,0]= int(linef1)
    matrix[i,1]= int(linef1)
    matrix[i,2]= int(linef1)
0
Francesco Boi 14 mars 2019 à 09:50