मैं इस फ़ंक्शन और एपीएसड्यूलर का उपयोग डेटाफ्रेम पर पंक्तियों को जोड़ने के लिए कर रहा हूं। समस्या यह है कि जब भी यह चलता है तो यह पिछली प्रविष्टि को ओवरराइट करता है, इसलिए यह वास्तव में कुछ भी "संलग्न" नहीं होता है।
def SMSx(frame):
SMS(frame)
frame = frame.append(SMS.SMSdf)
frame = frame[frame.a != "test"]
frame = DataFrame(frame, columns=["Time", "Hour", "Date", "a", "b", "c", "d", "e", "f", "g", "h", "Total", "Bucket"])
frame.to_excel("Sprint_Log.xlsx", "Sheet 1", index=False)
SMSx.frame = frame
यदि मैं सटीक उसी कोड (नीचे) का उपयोग करता हूं और इसे मैन्युअल रूप से चलाता हूं तो यह ठीक काम करता है। मुझे यकीन नहीं है कि यहां क्या हो रहा है। एसएमएस। एसएसडीडीएफ एसएमएस फ़ंक्शन से डेटा फ्रेम है।
SMS(frame)
frame = frame.append(SMS.SMSdf)
frame = frame[frame.a != "test"]
frame = DataFrame(frame, columns=["Time", "Hour", "Date", "Day", "a", "b", "c", "d", "e", "f", "g", "h", "Total", "Bucket"])
frame.to_excel("Sprint_Log.xlsx", "Sheet 1", index=False)
SMSx.frame = frame
सहायता के लिए धनयवाद!
कोड जो काम करता है:
def SMSx(frame_temp, frame_perm):
SMS(frame_temp)
try:
frame_perm = DataFrame.from_csv("Sprint_Log.csv")
except:
pass
frame_perm = frame_perm.append(SMS.SMSdf)
frame_perm = frame_perm.drop_duplicates()
frame_perm = frame_perm[frame_perm.Ready != "test"]
frame_perm = DataFrame(frame_perm, columns=["Time", "Hour", "Date", "Day", "a", "b", "c", "d", "e", "f", "g", "h", "Total", "Bucket"])
frame_perm.to_csv("Sprint_Log.csv")
SMSx.frame2 = frame_perm
उत्तर:
उत्तर № 1 के लिए 1मुझे संदेह है कि आप नहीं करते हैं return
अद्यतन frame
चर। जबकि आप को असाइन करते हैं SMSx
फंक्शन स्कोप में परिवर्तनीय, जैसे ही कार्य गुम हो जाता है। मुझे यकीन नहीं है कि यह कैसे काम कर रहा है, क्योंकि आप पहले परिभाषित नहीं करते हैं SMSx
परिवर्तनीय (यह वर्तमान फ़ंक्शन का नाम है, या वैश्विक चर भी है?)
def SMSx(frame):
SMS(frame)
frame = frame.append(SMS.SMSdf)
frame = frame[frame.a != "test"]
frame = DataFrame(frame, columns=["Time", "Hour", "Date", "a", "b", "c", "d", "e", "f", "g", "h", "Total", "Bucket"])
frame.to_excel("Sprint_Log.xlsx", "Sheet 1", index=False)
return frame
while True:
frame = SMSx(frame) # The returned frame will be used on the next iteration
अपने शेष कोड को देखे बिना, यह देखना मुश्किल है कि आप क्या करने की कोशिश कर रहे हैं।