Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Άσκηση Python (πρόσθεση αριθμού σε στήλη)Python (πρόσθεση αριθμού σε στήλη)

Άσκηση Python (πρόσθεση αριθμού σε στήλη)Python (πρόσθεση αριθμού σε στήλη) 9 Χρόνια 6 Μήνες πριν #2959

  • Foteini
  • Το Άβαταρ του/της Foteini
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 16
καλησπέρα!!θα ήθελα τη βοήθεια σας ακόμα μια φόρα.
Έχω ένα αρχείο txt που το έχω ονομάσει time1.txt και το περιεχόμενο του είναι το εξής:

52685.7224 70068-22-01-00_STD2_07_10kev_net.lc.txt
52687.0344 70068-22-01-01_STD2_07_10kev_net.lc.txt
52687.4441 70068-22-01-02_STD2_07_10kev_net.lc.txt
52688.5709 70068-22-01-03G_STD2_07_10kev_net.lc.txt
52689.8746 70068-22-01-04_STD2_07_10kev_net.lc.txt
52680.3367 70096-01-01-00_STD2_07_10kev_net.lc.txt
52680.4044 70096-01-01-01_STD2_07_10kev_net.lc.txt
52682.5117 70096-01-01-02_STD2_07_10kev_net.lc.txt

Βασικά έχει περισσότερες γραμμές απλά ενδεικτικά επικόλλησα εδώ κάποιες από αυτές. Τα αρχεία txt που βρίσκονται στα δεξιά αποτελούνται από 5 στήλες και 10 γραμμές με αριθμούς το καθένα . Αυτό που θέλω να κάνω είναι ο αριθμός που βρίσκεται στη πρώτη στήλη του time1.txt να προστίθεται στους αριθμούς της πρώτης μόνο στήλης του άρχείου που βρίσκεται ΔΙΠΛΑ σε αυτόν. Στη συνέχεια να αποθηκεύεται το αποτέλεσμα με το ίδιο όνομα (Πχ 70068-22-01-00_STD2_07_10kev_net.lc.txt). Στην ουσία το νέο αυτό αρχείο θέλω να αποτελείται πάλι από 5 στήλες,στην πρώτη θα έχει προστεθεί ο αριθμός που θέλω και οι άλλες να είναι ίδιες.
Έχω φτιάξει το εξής πρόγραμμα

import sys
import os
import numpy as np
import matplotlib.pyplot as plt
import subprocess


kname=("time1.txt")

lines = [line.strip().split() for line in open(kname)]
for i in range( len(lines)):
time1=lines[0]
time1=float(time1)
#print time1

filename=lines[1]
#print filename
fname=("%s"%filename)
#print fname
line=[line.strip().split() for line in open(fname)]
lname=open("%s"%filename,'w')
for k in range ( len(line)):
l=line[k][0]
l=float(l)
time2=time1+l
time2=float(time2)
txt=str(time2)+"\t"+line[k][1]+"\t"+line[k][2]+"\t"+line[k][3]+"\t"+line[k][4]+"\n"
lname.write(txt)
lname.close()

το οποίο τρέχει,απλα δε κάνει τη πρόσθεση που θέλω...μου βγάζει άσχετα νουμερα στη πρώτη στήλη ενώ τις άλλες τις αφήνει ίδιες όπως θέλω. Τι φταίει και δε μου τα προσθέτει σωστά?
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Άσκηση Python (πρόσθεση αριθμού σε στήλη)Python (πρόσθεση αριθμού σε στήλη) 9 Χρόνια 6 Μήνες πριν #2960

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Ο κώδικας φαίνεται έτσι στον κειμενογράφο σου;

import sys
import os
import numpy as np
import matplotlib.pyplot as plt
import subprocess
 
 
kname=("time1.txt")
 
lines = [line.strip().split() for line in open(kname)]
for i in range( len(lines)):
    time1=lines[0]
    time1=float(time1)
    #print time1
 
filename=lines[1]
#print filename
fname=("%s" % filename)
#print fname
line=[line.strip().split() for line in open(fname)]
lname=open("%s" % filename,'w')
for k in range(len(line)):
    l=line[k][0]
    l=float(l)
    time2=time1+l
    time2=float(time2)
    txt=str(time2)+"\t"+line[k][1]+"\t"+line[k][2]+"\t"+line[k][3]+"\t"+line[k][4]+"\n"
    lname.write(txt)
lname.close()

Αν όχι διόρθωσε τις εσοχές.
Επίσης καλό θα ήταν να είχαμε τα αρχεία, έστω δύο - τρία, για δοκιμές. (Αν μπορείς) B)
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Άσκηση Python (πρόσθεση αριθμού σε στήλη)Python (πρόσθεση αριθμού σε στήλη) 9 Χρόνια 6 Μήνες πριν #2961

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Το λάθος φαίνεται να είναι εδώ:

time1=lines[i][0]  # time1=lines[0]
 
    ...
 
filename=lines[i][1] #filename=lines[1]


Χωρίς να έχω κάνει δοκιμή.
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Άσκηση Python (πρόσθεση αριθμού σε στήλη)Python (πρόσθεση αριθμού σε στήλη) 9 Χρόνια 6 Μήνες πριν #2962

  • Foteini
  • Το Άβαταρ του/της Foteini
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 16
ΟΙ εσοχές είναι ΟΚ. Επίσης time1=lines[0] και filename=lines[1] ΟΚ. Το πρόγραμμα τρέχει απλα κάνει λάθος πρόσθεση...δηλ δεν μου προσθέτει τον αριθμό που θέλω (αυτός που είναι στο time1.txt αριστερά) αλλα κάποιον άλλο που δε ξέρω καν από που προέρχεται. Πως μπορώ να επισυνάψω εδώ αρχεία?
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Άσκηση Python (πρόσθεση αριθμού σε στήλη)Python (πρόσθεση αριθμού σε στήλη) 9 Χρόνια 6 Μήνες πριν #2963

  • Foteini
  • Το Άβαταρ του/της Foteini
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 16
Βασικά τώρα που παρατηρώ το time1.txt όπως φάινεται στο forum φαίνεται σαν μια στήλη...είναι 2 στήλες!Στη μια είναι οι αριθμοί (πχ 52685.7224) και στην άλλη τα ονόματα των αρχείων (πχ 70068-22-01-00_STD2_07_10kev_net.lc.txt).
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Άσκηση Python (πρόσθεση αριθμού σε στήλη)Python (πρόσθεση αριθμού σε στήλη) 9 Χρόνια 6 Μήνες πριν #2964

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Foteini έγραψε:
ΟΙ εσοχές είναι ΟΚ. Επίσης time1=lines[0] και filename=lines[1] ΟΚ. Το πρόγραμμα τρέχει απλα κάνει λάθος πρόσθεση...δηλ δεν μου προσθέτει τον αριθμό που θέλω (αυτός που είναι στο time1.txt αριστερά) αλλα κάποιον άλλο που δε ξέρω καν από που προέρχεται. Πως μπορώ να επισυνάψω εδώ αρχεία?

Το σφάλμα βρίσκεται στο ακέραιο μέρος ή στο δεκαδικό μέρος; Εγώ που έκανα ένα τεστ με δικά μου αρχεία, υπάρχει μια απόκλιση στο δεκαδικό μέρος. Αυτό διορθώνεται με την round().
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Άσκηση Python (πρόσθεση αριθμού σε στήλη)Python (πρόσθεση αριθμού σε στήλη) 9 Χρόνια 6 Μήνες πριν #2965

  • Foteini
  • Το Άβαταρ του/της Foteini
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 16
Λοιπόν, σε αυτό το link είναι όλα τα δεδομένα.

dl.dropboxusercontent.com/u/36789242/Arxeia.zip

Σευχαριστώ και πάλι!!
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Άσκηση Python (πρόσθεση αριθμού σε στήλη)Python (πρόσθεση αριθμού σε στήλη) 9 Χρόνια 6 Μήνες πριν #2966

  • Foteini
  • Το Άβαταρ του/της Foteini
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 16
Ok το βρήκα τελικά!!Δεν χρειαζόταν το time2=float(time2)!
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Άσκηση Python (πρόσθεση αριθμού σε στήλη)Python (πρόσθεση αριθμού σε στήλη) 9 Χρόνια 6 Μήνες πριν #2967

  • embryo
  • Το Άβαταρ του/της embryo
  • Αποσυνδεμένος
  • pyth__
  • Δημοσιεύσεις: 92
  • Ληφθείσες Ευχαριστίες 31
Επειδή τώρα το είδα το πρόβλημα, για τσέκαρε αν σου δουλεύει αυτό:
kname = "time1.txt"
lines = [line.strip().split() for line in open(kname)]
for i in range(len(lines)):
    time1 = float(lines[i][0])
    filename = lines[i][1]
    line = [line.strip().split() for line in open(filename)]
    lname = open(filename, 'w')
    for k in range(len(line)):
        l = float(line[k][0])
        time2 = str(time1 + l)
        txt = (time2 + " " + line[k][1] + "\n")
        lname.write(txt)
    lname.close()
Θα κατεβασω και τα αρχεία σου να δω ...
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Άσκηση Python (πρόσθεση αριθμού σε στήλη)Python (πρόσθεση αριθμού σε στήλη) 9 Χρόνια 6 Μήνες πριν #2968

  • Foteini
  • Το Άβαταρ του/της Foteini
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 16
Όπως προανέφερα το προβλημα λύθηκε!Αυτό που θελω να ρωτήσω είναι πως μπορώ να διαιρέσω όλους τους αριθμούς l (δηλαδή τους αριθμούς της πρώτης στήλης των αρχείων txt) με τον αριθμό 86400 πριν προστεθούν με τους αριθμούς time1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.362 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου