Как извлечь несколько столбцов данных из двух разных текстовых файлов и правильно отформатировать их для использования в большем количестве кода - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь извлечь несколько столбцов данных из двух разных текстовых файлов. Я собираюсь перебрать эти столбцы данных с дополнительным кодом. Как мне извлечь и правильно отформатировать данные, чтобы я мог их использовать. Вероятно, в одном текстовом файле 20 столбцов, а в другом текстовом файле - 15 столбцов.

Я попытался извлечь данные, используя genfromtext, но я получил странный формат, и отображение не помогает. Я также не могу использовать извлеченные данные в каких-либо дополнительных циклах или функциях.

Это код, который я пытался использовать:

data = np.genfromtxt("Basecol_Basic_New_1.txt", unpack=True);
J_i2=data[0];
J_f2=data[1];
kH2=data[5:, :]

data = np.genfromtxt("Lamda_HeHCL.txt", unpack=True);
J_i1=data[1];
J_f1=data[2];
kHe=data[7:, :]

Я также пытался использовать это для правильного форматирования, но это продолжало приводить к ошибкам.

kHe = map(float, kHe)
kH2 = map(float, kH2)

kHe = np.array(kHe)
kH2 = np.array(kH2)

g = len(kH2)

Однако, когда у меня есть столбцы данных, они форматируются иначе, чем я привык. Они кажутся непригодными для использования.

Я ожидаю, что данные появятся в виде нескольких массивов [1,2,3], [4,5,6]. То, что я сейчас получаю, это [[5.678e-8 ....] [7.893e-10 ...]]. Это не в правильном формате, и все мои попытки поместить его в правильный формат приводят к ошибке размера 1 или подобному.

1 Ответ

0 голосов
/ 10 января 2019

Из вашего кода я предполагаю, что данные разделены пробелами. Тогда вы можете просто прочитать файл и отформатировать вместо использования np.genfromtext

Отредактировано для отображения чисел с плавающей запятой и столбцов с 5 по 10 включительно (6 столбцов).

list=[]
with open ("Basecol_Basic_New_1.txt", 'r') as data:
    for line in data:
        list.append(map(float,line.strip().split(' ')[4:10]))
...