Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2017, 00:54   #1
clav9nski
Пользователь
 
Аватар для clav9nski
 
Регистрация: 04.07.2017
Сообщений: 33
По умолчанию [РЕШЕНО] не могу найти ошибку при прочтении файла

нужно обработать файл в котором много столбиков чисел, нужно допустим выбрать 2 столбика и занести определеные два столбца в массив
Код:
pressures = []
temps = []

f = open('xyz.txt','r') #открыли и читаем файл
for i in f: 
    p = i.split()
    pressure = float(p[0])
    pressures.append(pressure)
    
    t = i.split()
    temp = float(t[2])
    temps.append(temp)
print(pressures)
f.close()

Последний раз редактировалось Вадим Мошев; 11.05.2018 в 19:29.
clav9nski вне форума Ответить с цитированием
Старый 06.07.2017, 01:33   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

А файл сам как выглядит ?
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 06.07.2017, 01:37   #3
clav9nski
Пользователь
 
Аватар для clav9nski
 
Регистрация: 04.07.2017
Сообщений: 33
По умолчанию примерно так

примерно так:
979.0 158 16.0 15.0 94 11.07 200 6 290.9 322.3 292.8
962.0 308 16.3 15.1 92 11.32 235 21 292.7 325.0 294.7
956.0 362 16.4 15.1 92 11.41 240 23 293.3 326.0 295.3
934.0 560 15.3 13.1 87 10.25 260 29 294.1 323.7 295.9
925.0 643 14.8 12.3 85 9.80 260 31 294.4 322.8 296.2
907.0 809 13.7 11.3 85 9.35 265 35 295.0 322.1 296.7
885.0 1017 12.4 10.1 86 8.81 265 29 295.7 321.4 297.3
850.0 1358 10.2 8.0 86 7.98 255 27 296.8 320.3 298.2
clav9nski вне форума Ответить с цитированием
Старый 06.07.2017, 01:53   #4
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Я не сжимал код, и не делал сложно

PHP код:


coll_0 
coll_1 coll_2 coll_3 coll_4 = [];
coll_5 coll_6 coll_7 coll_8 coll_9 = [];
coll_x = [];

with open('data.file''r') as FS

    for 
line in FS:

        
line line.strip();  # Убрать весь мусор, пробелы, переносы строк и тд

        # Можно так создать масив
        # tmp = [ float(x) for x in line.split(' ') ]; 

        # Или так
        
tmp mapfloatline.split(' ') );

        
coll_0.appendtmp] );
        
coll_1.appendtmp] );
        
coll_2.appendtmp] );
        
coll_3.appendtmp] );
        
coll_4.appendtmp] );
        
coll_5.appendtmp] );
        
coll_6.appendtmp] );
        
coll_7.appendtmp] );
        
coll_8.appendtmp] );
        
coll_9.appendtmp] );
        
coll_x.appendtmp10 ] );


print( 
coll_0[0], coll_0[1], coll_0[2], coll_0[3] ); 
Или вот более структурированный вариант, удобно понимать если очень много инфы,

PHP код:
#!/usr/bin/python

data = [];

with open('data.file''r') as FS

    for 
line in FS:

        
tmp = [ float(x) for x in line.strip().split(' ') ]; 

        
data.append({
            
'temp_0' tmp],
            
'temp_1' tmp],
            
'temp_2' tmp],
            
'temp_3' tmp],
            
'temp_4' tmp],
            
'temp_5' tmp],
            
'temp_6' tmp],
            
'temp_7' tmp],
            
'temp_8' tmp],
            
'temp_9' tmp],
            
'temp_x' tmp10 ]

        });


print( 
data[0]['temp_0'], data[1]['temp_0'], data[2]['temp_0'], data[3]['temp_0'] ); 


Забыл главное сказть, ошибка у тебя была именно из за мусора. Сомволы перенос строк или возврат карретки
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось Вадим Мошев; 11.05.2018 в 19:35.
pompiduskus вне форума Ответить с цитированием
Старый 06.07.2017, 09:53   #5
clav9nski
Пользователь
 
Аватар для clav9nski
 
Регистрация: 04.07.2017
Сообщений: 33
По умолчанию

Цитата:
Сообщение от pompiduskus Посмотреть сообщение
Или вот более структурированный вариант, удобно понимать если очень много инфы,

PHP код:
#!/usr/bin/python

data = [];

with open('data.file''r') as FS

    for 
line in FS:

        
tmp = [ float(x) for x in line.strip().split(' ') ]; 

        
data.append({
            
'temp_0' tmp],
            
'temp_1' tmp],
            
'temp_2' tmp],
            
'temp_3' tmp],
            
'temp_4' tmp],
            
'temp_5' tmp],
            
'temp_6' tmp],
            
'temp_7' tmp],
            
'temp_8' tmp],
            
'temp_9' tmp],
            
'temp_x' tmp10 ]

        });


print( 
data[0]['temp_0'], data[1]['temp_0'], data[2]['temp_0'], data[3]['temp_0'] ); 


Забыл главное сказть, ошибка у тебя была именно из за мусора. Сомволы перенос строк или возврат карретки
спасибо, а именно с моим кодом что нетак, мне надо что б попроще для моего понимания, а то сложновато (в Pyton)
clav9nski вне форума Ответить с цитированием
Старый 06.07.2017, 18:18   #6
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

а ошибка какая ?
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 06.07.2017, 21:23   #7
clav9nski
Пользователь
 
Аватар для clav9nski
 
Регистрация: 04.07.2017
Сообщений: 33
По умолчанию

could not convert string to float !
можно ли так записать ?
Код:
f = open('xyz.txt','r') #открыли и читаем файл
pressures = temps = []

for i in f:
    i = i.strip() #убрали весь мусор, пробелы, переносы строки и тд.
    temp = list(map(float,i.split(' '))) #создаю массив
    temps.append(temp[0])
print(temps[0])
f.close()
и ваш код записывал,тоже выдает ошибку в файле значения
Код:
979.0    158   16.0   15.0     94  11.07    200      6  290.9  322.3  292.8
  962.0    308   16.3   15.1     92  11.32    235     21  292.7  325.0  294.7
  956.0    362   16.4   15.1     92  11.41    240     23  293.3  326.0  295.3
  934.0    560   15.3   13.1     87  10.25    260     29  294.1  323.7  295.9
  925.0    643   14.8   12.3     85   9.80    260     31  294.4  322.8  296.2
  907.0    809   13.7   11.3     85   9.35    265     35  295.0  322.1  296.7
  885.0   1017   12.4   10.1     86   8.81    265     29  295.7  321.4  297.3
  850.0   1358   10.2    8.0     86   7.98    255     27  296.8  320.3  298.2
  841.0   1446    9.5    7.5     88   7.80    250     27  297.0  320.0  298.4
  820.0   1655    7.8    6.4     91   7.40    250     29  297.3  319.2  298.7
  718.0   2742    3.6    1.8     88   6.11    250     39  304.2  322.9  305.4
  700.0   2947    2.0    0.5     90   5.70    250     41  304.7  322.2  305.7
  649.0   3550   -3.7   -4.8     92   4.15    244     45  304.9  317.9  305.6
  616.0   3960   -5.5   -6.7     91   3.78    240     49  307.4  319.4  308.1
  594.0   4245   -6.7   -8.0     90   3.54    240     49  309.2  320.6  309.9
  591.0   4284   -8.3   -9.5     91   3.16    240     49  307.8  317.9  308.4
  553.0   4797  -10.7  -12.0     90   2.77    240     49  310.9  319.9  311.4
  531.0   5106  -14.7  -15.8     91   2.11    240     49  309.7  316.7  310.1
  526.0   5177  -14.7  -15.8     91   2.13    240     49  310.5  317.6  310.9
  512.0   5381  -14.7  -16.3     88   2.10    240     49  312.9  320.0  313.3
  500.0   5560  -16.1  -18.2     84   1.83    240     49  313.4  319.6  313.7
  474.0   5962  -19.1  -26.1     54   0.97    238     47  314.4  317.9  314.6
  456.0   6251  -19.3  -26.3     54   0.99    236     46  317.7  321.2  317.9
  434.0   6617  -23.7  -33.7     39   0.51    234     45  316.6  318.5  316.7
  425.0   6770  -23.7  -33.7     39   0.53    233     44  318.5  320.5  318.6
  419.0   6874  -25.9  -34.9     43   0.47    232     44  317.0  318.8  317.1
  400.0   7210  -28.3  -37.3     42   0.39    230     43  318.1  319.6  318.2
  398.0   7246  -28.5  -37.4     42   0.39    230     43  318.4  319.8  318.4
  380.0   7576  -30.1  -38.1     46   0.38    229     45  320.4  321.9  320.5
  361.0   7937  -35.3  -41.3     54   0.29    227     48  318.2  319.3  318.3
  343.0   8291  -37.7  -42.7     59   0.26    226     50  319.6  320.6  319.7
  332.0   8515  -38.3  -43.3     59   0.25    225     52  321.8  322.8  321.9
  329.0   8577  -39.0  -44.2     58   0.23    225     52  321.6  322.5  321.7
  314.0   8894  -42.9  -48.9     52   0.14    230     54  320.6  321.1  320.6
  300.0   9200  -44.5  -49.5     57   0.14    235     56  322.5  323.1  322.6
  261.0  10121  -51.7  -56.7     55   0.07    235     66  325.1  325.3  325.1
  254.0  10297  -52.3  -57.3     55   0.06    235     68  326.6  326.9  326.7
  250.0  10400  -52.7  -57.7     55   0.06    235     68  327.6  327.9  327.6
  239.0  10689  -54.4  -59.3     54   0.05    240     66  329.2  329.5  329.2
  236.0  10770  -54.9  -59.8     54   0.05    240     66  329.7  329.9  329.7
  235.0  10797  -56.3  -61.3     53   0.04    240     66  328.0  328.2  328.0
  208.0  11571  -56.1  -61.1     53   0.05    230     58  339.9  340.1  339.9
  200.0  11820  -56.1  -61.1     53   0.05    240     56  343.8  344.0  343.8
  195.0  11983  -55.8  -60.9     53   0.05    250     54  346.8  347.1  346.8
  170.0  12865  -53.9  -59.5     50   0.07    245     43  363.8  364.2  363.8
  154.0  13500  -52.5  -58.5     48   0.09    261     34  376.6  377.0  376.6
  150.0  13670  -53.3  -59.3     48   0.09    265     31  378.0  378.5  378.1
  148.0  13756  -53.4  -59.4     47   0.09    265     29  379.4  379.8  379.4
  118.0  15209  -54.1  -61.3     41   0.08    245     21  403.3  403.8  403.4
  103.0  16080  -54.6  -62.5     37   0.08    280     25  418.4  418.9  418.4
  100.0  16270  -54.7  -62.7     36   0.08    275     23  421.8  422.2  421.8
   91.0  16873  -54.3  -62.3     37   0.10    250     19  434.1  434.7  434.1
   71.0  18459  -53.2  -61.2     37   0.14    255     10  468.4  469.3  468.4
   70.0  18550  -53.1  -61.1     37   0.15    260     10  470.4  471.3  470.5
   61.0  19438  -53.9  -62.6     34   0.14    310     12  487.5  488.4  487.6
   57.0  19875  -54.3  -63.3     32   0.13    235     12  496.1  497.0  496.2
   55.0  20105  -54.0  -63.0     32   0.14    195     12  501.9  502.8  501.9
   50.0  20720  -53.3  -62.3     33   0.17    265     12  517.4  518.6  517.5
   49.0  20850  -53.3  -62.3     32   0.18    285     12  520.5  521.8  520.6
   37.0  22664  -52.6  -63.0     28   0.22    285      6  565.6  567.2  565.6
   32.0  23602  -52.3  -63.3     26   0.24    350     10  590.4  592.3  590.5
   31.4  23724  -52.3  -63.3     25   0.24     18      9  593.7  595.6  593.8
   30.0  24020  -51.5  -62.5     26   0.28     85      6  603.6  605.9  603.7
   29.0  24241  -51.4  -62.4     26   0.30    130      4  609.8  612.2  609.9
   25.0  25208  -51.0  -62.0     26   0.37    115      8  637.4  640.5  637.6
   22.8  25808  -50.7  -61.7     26   0.42     83      8  655.2  658.8  655.4
   22.0  26042  -49.6  -61.0     25   0.47     70      8  665.3  669.5  665.5
   21.0  26348  -48.1  -60.1     24   0.55     80     10  678.6  683.6  678.9
   20.0  26670  -47.9  -59.9     24   0.60     90     12  688.8  694.2  689.0
   19.0  27015  -47.2  -59.4     24   0.67    100     12  701.1  707.3  701.4
   15.0  28604  -44.0  -56.8     23   1.17     90     16  760.8  772.3  761.3
   13.0  29566  -42.1  -55.3     22   1.63    105     12  799.2  816.0  800.0
   11.0  30689  -39.8  -53.5     22   2.39     55     10  846.5  872.5  847.7
   10.0  31330  -38.5  -52.5     21   2.97     95     19  874.7  908.0  876.2
и вот еще одну ошибку выдает 'map' object is not subscriptable
пишу на питоне в среде spyder

Последний раз редактировалось Вадим Мошев; 11.05.2018 в 19:36.
clav9nski вне форума Ответить с цитированием
Старый 06.07.2017, 23:48   #8
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Можете весь ваш код выложить. Ато чувствую мы так по 13 месяца будет испать проблему

только, вставляйте код, в теги для кода, ато нихрена не понятно что написано в каше символов.

Вот кстати, самый прост овывод, инфы. Должно вывести, много масивов парямо к терминал

PHP код:

FS 
open('data.file''r');
for 
line in FS:
    print( 
line.strip().split(' ') ); 
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 06.07.2017 в 23:55.
pompiduskus вне форума Ответить с цитированием
Старый 07.07.2017, 01:55   #9
clav9nski
Пользователь
 
Аватар для clav9nski
 
Регистрация: 04.07.2017
Сообщений: 33
По умолчанию

Код:
f = open('xyz.txt','r') #открыли и читаем файл
pressures = []
temps = [] 
for i in f:
p = i.split()
pressure = float(p[0])
pressures.append(pressure)
t = i.split()
temp = float(t[2])
temps.append(temp)
print(pressures)
f.close()

Последний раз редактировалось Вадим Мошев; 11.05.2018 в 19:38.
clav9nski вне форума Ответить с цитированием
Старый 07.07.2017, 02:19   #10
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Код:
#!/usr/bin/python

# -*- coding: utf-8 -*-

file = open('xyz.txt','r') #открыли 

print(' ----------------------------------------------- ');
print(' Вывод: 1 ');

pressures = []
temps = []
for stroka in file: # читаем файл

    stroka = stroka.strip()

    # -----------------------------------
    # Без преобразования во FLOAT
    massiv_S = stroka.split(' ');

    # С преобразованием во FLOAT
    massiv_F = map( float, stroka.split(' ') );

    # -----------------------------------
    pressures.append( massiv_F[0] ); # Добавляем первый елемент массива massiv_F
    temps.append( massiv_F[2] );     # Добавляем третий елемент массива massiv_F

    print( 'Давление: ['+massiv_S[0]+'], Темпереатура: ['+massiv_S[2]+']' );

file.close();

# ------------------------------------------
# Вся инва теперь есть в массивах, и есди нужно можно потом пробежать по ним
print(' ----------------------------------------------- ');
print(' Вывод: 2 ');
for i in xrange(0, len( pressures ) ):

    print( 'Давление: ['+str(pressures[ i ])+'], Темпереатура: ['+str(temps[ i ])+']' );
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО]: При открытии php файла появляется ошибка nikytt PHP 3 10.05.2016 19:58
Как с wcf наладить передачу файла на сервер, не могу ошибку найти androk C# (си шарп) 1 04.05.2012 10:27
Не могу найти ошибку ToDayGoodDay JavaScript, Ajax 1 15.08.2011 09:43
Не могу найти ошибку в коде при авторизации вконтакте Arsenx777 Работа с сетью в Delphi 10 27.07.2011 02:44
Не могу найти ошибку... хотя я ее нашел... но не знаю как исправить))) ( удаление строки из файла) dykatob Общие вопросы C/C++ 0 03.06.2011 10:42