Invoer waardes in python in data.csv niet op nieuwe regel?!

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • digidokter.net
  • Registratie: April 2014
  • Laatst online: 07-01-2024

digidokter.net

... en 'Niets' van 'Alles' LOL

Topicstarter
3.Geef eerst globaal aan wat het probleem is.

De 'data' is een data.csv bestand met gegevens. Ik wil deze gegevens graag zelf invoeren middels een invoermogelijkheid in programma. Echter de gegevens komen niet op nieuwe regels, maar achter elkaar.
Ik heb veel geprobeerd maar kom er niet uit?!


4.Geef vervolgens aan waar je denkt dat het aan ligt.
Ik denk dat er iets mis is met schrijven naar bestand? weet niet waar ik de harde return (\n) moet plaatsen. Heb een definitie gemaakt spa='\n' maar dat werkt gedeeltelijk

5.Geef daarna aan wat je al geprobeerd hebt om zelf tot een oplossing te komen.
Een duidelijke omschrijving geven van dingen die je al geprobeerd hebt voorkomt ook dat mensen tips geven die voor jou oude koek zijn.
Ik heb twee programma's die werken samen gevoegd:
programma 1
Python:
1
2
3
4
5
6
7
print "test schrijven() method w = write overschrijf en a= append voeg toe"
text_file = open("data.csv", "a")

text_file.write("1,2 \n")
text_file.write("2,,5 \n")
text_file.write("3,7 \n")
text_file.close()


programma 2
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from matplotlib import pyplot as plt
from matplotlib import style
import numpy as np

style.use('ggplot')

x,y = np.loadtxt('data.csv',
                 unpack=True,
                 delimiter = ',')

plt.plot(x,y)

plt.title('Epic Info')
plt.ylabel('Y axis')
plt.xlabel('X axis')

plt.show()



6.Geef aan waarom je denkt dat jouw oplossing niet werkt of geef aan waarom je denkt dat dat niet werkt.
Je eigen oplossing heeft niet gewerkt. Als je begrijpt waarom niet, vertel dit dan. Als je dat niet begrijpt, kun je dat als "subvraag" in je topicstart opnemen.

Mijn oplossing de samenvoegen van prog1+2=
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from matplotlib import pyplot as plt
from matplotlib import style
import numpy as np

print "test schrijven() method w = write overschrijf en a= append voeg toe"
text_file = open("data.csv", "a")

text_file.write("1,5 \n")
text_file.write("2,5 \n")
text_file.write("3,6 \n")
text_file.close()


style.use('ggplot')

x,y = np.loadtxt('data.csv',
                 unpack=True,
                 delimiter = ',')

plt.plot(x,y)

plt.title('Epic Info')
plt.ylabel('Y axis')
plt.xlabel('X axis')

plt.show()


7.Geef altijd aan wat voor eventuele foutmeldingen of waarschuwingen je krijgt.
programma 1=2 gaat goed. geen fouten
Maar met invoeren van eigen waardes:
volgens(data1,spa) maar krijg :
Python:
1
TypeError: function takes exactly 1 argument (2 given)


8.Wanneer je alles duidelijk hebt uitgelegd, vat je je probleem samen en stel je de uiteindelijke vraag.
kortom alles gaat goed behalve bij invoeren van eigen waardes in laatste programma:
met:
Python:
1
2
3
data1 = easygui.enterbox("Hoe voel je van 1 tot 10? 2 decimaal met komma (0,2)0=stop")
data2 = easygui.enterbox("Hoe voel je van 1 tot 10? 2 decimaal met komma (0,2)0=stop")
data3 = easygui.enterbox("Hoe voel je van 1 tot 10? 2 decimaal met komma (0,2)0=stop")


Ik weet niet een juiste data.csv te maken op nieuwe regel?!
huidige uit komst:
Python:
1
1,23,43,5


wat ik wil:
Python:
1
2
3
1,2
3,4
3,5


9.Plaats je vraag in één topic in één forum.
Zogenaamd "crossposten" is niet gewenst. Als je er niet zeker van bent of je op de goede plaats je topic opent, neem dan contact op met een moderator.

Uiteindelijk programma:
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from easygui import *
from Tkinter import *
import sys
import webbrowser
import easygui
import smtplib
import datetime
from matplotlib import pyplot as plt
from matplotlib import style
import numpy as np

spa='\n'
#data=[str(spa),"1,5",str(spa),"2,7",str(spa),"3,8",str(spa),"4,3",str(spa),"5,5",str(spa),"6,6",str(spa),"7,3",str(spa),"8,7",str(spa),"9,2",str(spa),
#          "10,12",str(spa),"11,5",str(spa),"12,7",str(spa),"13,2",str(spa),"14,6",str(spa),"15,9",str(spa),"16,2",str(spa),]

data1 = easygui.enterbox("Hoe voel je van 1 tot 10? 2 decimaal met komma (0,2)0=stop")
data2 = easygui.enterbox("Hoe voel je van 1 tot 10? 2 decimaal met komma (0,2)0=stop")
data3 = easygui.enterbox("Hoe voel je van 1 tot 10? 2 decimaal met komma (0,2)0=stop")

#print(data)
print "test schrijven() method w = write overschrijf en a= append voeg toe"
text_file = open("data.csv", "a")

#text_file.writelines(data)
text_file.write (data1) #hier wil ik een harde return volgens(data1,spa) maar krijg : TypeError: function takes exactly 1 argument (2 given)
text_file.write (data2)
text_file.write (data3)
text_file.close()


style.use('ggplot')

x,y = np.loadtxt('data.csv',
                 unpack=True,
                 delimiter = ',')

plt.plot(x,y)

plt.title('Epic Info')
plt.ylabel('Y axis')
plt.xlabel('X axis')

plt.show()

[ Voor 1% gewijzigd door Woy op 30-11-2015 09:50 ]

Verstand van 'Alles' van 'Niets'


Acties:
  • +2 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Waarom gebruik je niet de CSV-functionaliteit die Python native heeft en die je vindt als eerste hit door simpelweg te [google=csv python]? :X

[ Voor 4% gewijzigd door NMe op 29-11-2015 15:07 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • +1 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06:46

Damic

Tijd voor Jasmijn thee

NMe schreef op zondag 29 november 2015 @ 15:05:
Waarom gebruik je niet de CSV-functionaliteit die Python native heeft en die je vindt als eerste hit door simpelweg te [google=csv python]? :X
Dank je. In .net bestaat dat ook |:( en ik maar zelf schrijven |:(

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • +1 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 01:12
Overigens is newline in windows \r\n. Bijv. Notepad.exe behandelt een \n dus niet als einde van regel.

Acties:
  • 0 Henk 'm!

  • digidokter.net
  • Registratie: April 2014
  • Laatst online: 07-01-2024

digidokter.net

... en 'Niets' van 'Alles' LOL

Topicstarter
Thanks allen! _/-\o_

mijn oplossing:
Python:
1
2
3
4
with open("data.csv", "a") as gegevens:
          gegevensFileWriter = csv.writer(gegevens)
          gegevensFileWriter.writerow([x,y])
          gegevens.close()

[ Voor 4% gewijzigd door Woy op 30-11-2015 09:50 ]

Verstand van 'Alles' van 'Niets'


Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Verander de [data] tags eens in [code] tags ;)

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
armageddon_2k1 schreef op maandag 30 november 2015 @ 09:50:
Verander de [data] tags eens in [code] tags ;)
Dat had ik nu al gedaan, maar voor de TS: Gebruik in het vervolg [code=taal][/code] tags!

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1