2012-01-16 16 views
9
$ sqlite3 test.sql 
SQLite version 3.6.12 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> create table test (id integer, author_id integer, title varchar(128), name text); 
sqlite> .separator ";" 
sqlite> .import sqlite.csv test 
sqlite.csv line 3: expected 4 columns of data but found 1 
sqlite> .separator ';' 
sqlite> .import sqlite.csv test 
sqlite.csv line 3: expected 4 columns of data but found 1 
sqlite> 

के माध्यम से सीएसवी तालिका आयात करने की कोशिश कर रहा है; sqlite करने के लिए एक सेपरेटर के रूप में, लेकिन यह 4 कॉलम खोजने में सक्षम नहीं था। मैं एसक्यूएल से सीएसवी से निर्यात करता हूं 'चेक पंक्तियों को पहली पंक्ति में नाम दें'। क्या मैं यहाँ कुछ याद कर सकता हूँ?sqlite त्रुटि कमांड लाइन

सीएसवी

id;"author_id";"title";"poem"  
1;"92";"A Letter From Italy";"Salve magna parens frugum Saturnia tellus  
Magna virm! tibi res antiqu laudis et artis  
Aggredior sanctos ausus recludere fontes.  
Virg. Geor. 2. 
+2

आप हमें अपने csv फ़ाइल के पहले 5 लाइनों लक्षित कर सकते हैं? – MatBailie

+0

@Dems ने सीएसवी फ़ाइल – merrill

उत्तर

5

आप किसी प्राथमिक तालिका के साथ तालिका में आयात नहीं कर सकते हैं जिसे आपको पहले temp तालिका में आयात करना है।

इसका जवाब इतना question

1

हो सकता है कि आपकी तार में से एक में एक लाइन ब्रेक जाता है कि ठीक से छोड़ा नहीं जा रहा है के पहले 5 लाइनों? तो ऐसा लगता है कि दूसरी पंक्ति "टेलस" के बाद समाप्त होती है और फिर मैग्ना से तीसरी पंक्ति के रूप में शुरू होने वाले पाठ को पार्स करने का प्रयास करती है, और कोई अर्धविराम डिलीमीटर नहीं पाती है। क्या आप टेक्स्टपैड में खोले जाने पर सीएसवी की तरह दिखने का स्क्रीनशॉट पोस्ट कर सकते हैं?

+0

की पहली 5 लाइनों को पोस्ट किया है, यह बिल्कुल ठीक है जैसे मैंने पोस्ट किया :) :) – merrill

+0

बिल्कुल मेरा बिंदु। आपके द्वारा पोस्ट किए गए नमूने में, दूसरी पंक्ति "टेलस" शब्द पर रुक जाती है और तीसरी पंक्ति "मैग्ना" से शुरू होती है। त्रुटि का तात्पर्य है कि यह पहले 2 लाइनों को ठीक करने में सक्षम है (यह 3 ";" और "4 कॉलम ढूंढ रहा है) और तीसरे पर तोड़ रहा है। इसका मतलब यह होगा कि "टेलस" और "मैग्ना" के बीच लाइन ब्रेक सिर्फ stackoverflow.com पर स्वरूपण नहीं कर रहा है, यह एक लाइन ब्रेक है जो आपकी टेक्स्ट फ़ाइल में है। आपको या तो लाइनब्रेक को हटाने या इसे से बचने की आवश्यकता है। अगर आपको उन चीजों में से किसी एक को करने में मदद की ज़रूरत है तो मुझे बताएं। –

4

चूंकि आपका विभाजक केवल एक ही चरित्र है, सेमिकोलन के चारों ओर उद्धरण के बिना विभाजक कमांड का उपयोग करने का प्रयास करें। तो:

sqlite> .separator ; 
sqlite> .import sqlite.csv test 
+0

मुझे एक ही परिणाम मिला – merrill