Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 23, 2016 17:18:26

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

Взять данные с Си (90) и при помощи питон-скрипта построить график по этим данным.

А проблема то в чем? файл с выводом создается “/home/argo/For-PenzGTU/Laba3/Laba3C/text.csv”, чего еще то не так? Или в гугле забанили, или до запроса “как открыть файл в питоне ” полет мысли не дошел?

Офлайн

#2 Окт. 23, 2016 18:04:09

Argo
Зарегистрирован: 2016-10-19
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Взять данные с Си (90) и при помощи питон-скрипта построить график по этим данным.

Вот тут что то не так. Данные X и Y те, что берутся из файла, имеют формат long float. Как сделать так, чтобы первая часть чисел (до запятой) из файла text.csv брались для X, а вторая часть для Y?

import matplotlib.pyplot as plt
import math
from numpy import *
import csv
import os

x = float
y = float
with open("/home/argo/For-PenzGTU/Laba3/Laba3C/text.csv", 'r') as csvfile:
reader = csv.DictReader(csvfile, fieldnames=[str(x), str(y)])
plt.plot(x, y)
plt.show()

Офлайн

#3 Окт. 23, 2016 18:17:49

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

Взять данные с Си (90) и при помощи питон-скрипта построить график по этим данным.

Напоминает бред сивой кобылы…
Посоветовать могу использовать нормальную IDE, позволяющую трассировать код, мне нравится Spyder.

А по коду нереальный бред - x,y присвоен тип, и в строковом представлении и x, и y = “<type ‘float’>” что для fieldnames явно какоето Г…

где имена полей то??

ЗЫ.

 x = float
print str(x)

ЗЫЫ. не знаю почему лишний пробел перед х ставится, в оригинале его нет

ЗЫЫЫ. и если уж использовать имена полей, то в csv они должны присутствовать первой строчкой, чего по коду на сях не наблюдается. Я не знаком с модулем csv, но стоит поискать возможность обращения не по имнам а по номеру столбца.

Отредактировано Iskatel (Окт. 23, 2016 18:30:28)

Офлайн

#4 Окт. 23, 2016 18:59:32

Argo
Зарегистрирован: 2016-10-19
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Взять данные с Си (90) и при помощи питон-скрипта построить график по этим данным.

Iskatel
Напоминает бред сивой кобылы…Посоветовать могу использовать нормальную IDE, позволяющую трассировать код, мне нравится Spyder.А по коду нереальный бред - x,y присвоен тип, и в строковом представлении и x, и y = “<type ‘float’>” что для fieldnames явно какоето Г…где имена полей то??ЗЫ.
пересобрал прогу, как сделать счётчик строк, не подскажешь?
 import matplotlib.pyplot as plt
from numpy import *
y_values = []
x_values = []
x = float(0)
y = float(0)
i = int(1)
k = int(2)
lines = 0
f = open("/home/argo/For-PenzGTU/Laba3/Laba3C/text.csv", 'w+')
line = f.readlines()
print(lines)
while 1:
    x = line[:i]
    y = line[:k]
    x_values.append(x)
    y_values.append(y)
    i += 2
    k += 2
plt.plot(x_values, y_values)
plt.show()

Офлайн

#5 Окт. 23, 2016 19:05:20

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

Взять данные с Си (90) и при помощи питон-скрипта построить график по этим данным.

Замечу что в питоне нет смысла инициализировать переменные типом, он его не запоминает,он находу понимает… Только если значением.

 x = float(0)
x = 'qwerty'
Это прокатит

Ну а счетчик - 100500 способов. Например перед циклом cnt =0, а в цикле cnt +=1

Ну а по коду опять бред:

 x = line[:i]
y = line[:k]

чтоза нафиг? ты сам то понял что написал?

Отредактировано Iskatel (Окт. 23, 2016 19:10:39)

Офлайн

#6 Окт. 23, 2016 19:17:25

Argo
Зарегистрирован: 2016-10-19
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Взять данные с Си (90) и при помощи питон-скрипта построить график по этим данным.

Iskatel
чтоза нафиг? ты сам то понял что написал?
Да, понял. У меня берётся 1 строка и икс будет равен ей, вторая строка будет равна игрику, третья иксу и т.д.

Офлайн

#7 Окт. 23, 2016 19:23:03

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

Взять данные с Си (90) и при помощи питон-скрипта построить график по этим данным.

Прости, но это просто смешно…

У тебя изначально разбирается одна строка, откуда ты взял еще две?

Еще раз - поставь IDE с трассером, там по каждой строчке кода можно видеть значения переменных!

х у тебя будет равен первому символу в строке (одной буковке или циферке)
у же будет равен двум символам, т.е. первый - тот что уже в х, и еще одному.

т.е. если стока = “100500”
то в х будет “1”
а в у будет “10”

Отредактировано Iskatel (Окт. 23, 2016 19:25:42)

Офлайн

#8 Окт. 23, 2016 19:29:16

Argo
Зарегистрирован: 2016-10-19
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Взять данные с Си (90) и при помощи питон-скрипта построить график по этим данным.

Iskatel
т.е. если стока = “100500”
то в х будет “1”
а в у будет “10”
Не, мне такое не надо. Разбирается у меня много строк:
2.000
260.000
3.000
115.357
4.000
82.727
6.000
61.053
8.000
52.857
10.000
48.571
пробовал так же вариант в одну строчку выводить, но там ещё сложнее читать (хотя я и так то прочитать не могу )

Офлайн

#9 Окт. 23, 2016 19:30:45

Argo
Зарегистрирован: 2016-10-19
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Взять данные с Си (90) и при помощи питон-скрипта построить график по этим данным.

Iskatel
Ну а счетчик - 100500 способов. Например перед циклом cnt =0, а в цикле cnt +=1
Мне нужно посчитать количество строк дотого, как использую цикл while. А вот этот код, кстати, не работает почему то
 f = open("/home/argo/For-PenzGTU/Laba3/Laba3C/text.txt", 'r')
l = 0
for l in f:
    l += 1
print(l)

Офлайн

#10 Окт. 23, 2016 19:38:37

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

Взять данные с Си (90) и при помощи питон-скрипта построить график по этим данным.

Argo
Не, мне такое не надо
Тогда зачем ты именно это и написал…

Тот код на сях ты походу гдето скачал, и даже не понимаешь что к чему…

Я немного подскажу:
 x,y  = line.split(",")
print int(x)
print int(y)

Но с твоим стремлением чтото понять…

ЗЫ. А вот этот код, кстати, не работает почему то

А почему бы ему работать? цикл то не идет… какие “l” ты хочешь перебрать в дескрипторе (хендле) файла?

Отредактировано Iskatel (Окт. 23, 2016 19:42:17)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version