आप वास्तव में सही हैं कि डेटाटाइम 64 फ़ील्ड परेशानी पैदा कर रहा है। स्क्लाइट का कोई वास्तविक डेटाटाइम प्रकार नहीं है, लेकिन वे समय का प्रतिनिधित्व करने के लिए टेक्स्ट या पूर्णांक प्रकारों का उपयोग करते हैं (देखें https:// www.sqlite.org/datatype3.html और https://www.sqlite.org/lang_datefunc.html )।
तो आप जो करना चाहते हैं उसके आधार पर, आप पहले अपने डेटाटाइम कॉलम को एक स्ट्रिंग में बदल सकते हैं:
df['field2'] = df['field2'].apply(str)
या एक इंट (1970-01-01 00:00:00 यूटीसी के बाद से सेकंड की संख्या):
df['field2'] = df['field2'].astype('int64')
और फिर अपना डेटा sqlite में लिखें।
सिडेनोट्स:
- आप पांडा के किस संस्करण का उपयोग कर रहे हैं? क्योंकि संस्करण 0.13 (या नीचे) में
if_exists='replace'में एक बग है कार्यान्वयन, जो 0.13.1 में तय किया गया है (इस समय नवीनतम स्थिर रिलीज़) - आगामी पांडा 0.14 में, sqlalchemy पर आधारित sql फ़ंक्शन का एक नया कार्यान्वयन होगा, और वहां एक स्ट्रिंग में रूपांतरण स्वचालित रूप से होगा (इसलिए डेटाटाइम 64 डेटा के लिए अब कोई त्रुटि नहीं है)।