Форум сайта python.su
3
А проблема то в чем? файл с выводом создается “/home/argo/For-PenzGTU/Laba3/Laba3C/text.csv”, чего еще то не так? Или в гугле забанили, или до запроса “как открыть файл в питоне ” полет мысли не дошел?
Офлайн
0
Вот тут что то не так. Данные 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
Напоминает бред сивой кобылы…
Посоветовать могу использовать нормальную IDE, позволяющую трассировать код, мне нравится Spyder.
А по коду нереальный бред - x,y присвоен тип, и в строковом представлении и x, и y = “<type ‘float’>” что для fieldnames явно какоето Г…
где имена полей то??
ЗЫ.
x = float print str(x)
Отредактировано Iskatel (Окт. 23, 2016 18:30:28)
Офлайн
0
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()
Офлайн
3
Замечу что в питоне нет смысла инициализировать переменные типом, он его не запоминает,он находу понимает… Только если значением.
x = float(0) x = 'qwerty'

x = line[:i] y = line[:k]
Отредактировано Iskatel (Окт. 23, 2016 19:10:39)
Офлайн
0
IskatelДа, понял. У меня берётся 1 строка и икс будет равен ей, вторая строка будет равна игрику, третья иксу и т.д.
чтоза нафиг? ты сам то понял что написал?
Офлайн
3
Прости, но это просто смешно…
У тебя изначально разбирается одна строка, откуда ты взял еще две?
Еще раз - поставь IDE с трассером, там по каждой строчке кода можно видеть значения переменных!
х у тебя будет равен первому символу в строке (одной буковке или циферке)
у же будет равен двум символам, т.е. первый - тот что уже в х, и еще одному.
т.е. если стока = “100500”
то в х будет “1”
а в у будет “10”
Отредактировано Iskatel (Окт. 23, 2016 19:25:42)
Офлайн
0
IskatelНе, мне такое не надо. Разбирается у меня много строк:
т.е. если стока = “100500”
то в х будет “1”
а в у будет “10”
)
Офлайн
0
IskatelМне нужно посчитать количество строк дотого, как использую цикл while. А вот этот код, кстати, не работает почему то
Ну а счетчик - 100500 способов. Например перед циклом cnt =0, а в цикле cnt +=1
f = open("/home/argo/For-PenzGTU/Laba3/Laba3C/text.txt", 'r') l = 0 for l in f: l += 1 print(l)
Офлайн
3
ArgoТогда зачем ты именно это и написал…
Не, мне такое не надо
x,y = line.split(",") print int(x) print int(y)
Отредактировано Iskatel (Окт. 23, 2016 19:42:17)
Офлайн