Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

टूटी हुई सीएसवी, मैं इसे कैसे ठीक कर सकता हूं?

आप हो सकता है इसे छल करने में सक्षम हो और देखने के लिए रेगेक्स का उपयोग करें:

"(.*?)"(?=,|$)

लेकिन यह एक प्रकार का हैक-ईश है (मूल रूप से, केवल एक अंतिम उद्धरण स्वीकार करें जब उसके तुरंत बाद अल्पविराम या पंक्ति का अंत हो)। एक ही तर्क एक खोज-प्रतिस्थापन पर लागू होगा। (फिर से, यह सब मानता है कि एक "आवारा" उद्धरण कभी भी मानक सीएसवी नियमों का पालन नहीं करेगा (उदाहरण के लिए एक अल्पविराम/रेखा [शुरुआत/अंत] इसके पहले या बाद में))

मुझे लगता है कि मूल डेटा पर आपका कोई नियंत्रण नहीं है और आपके पास जो है उसके साथ काम करना है?

संपादित करें

हालांकि मैंने इसे केवल छोटे . पर ही आजमाया है आपके डेटा का नमूना, ऐसा लगता है कि यह "आवारा" उद्धरण ढूंढता है, जिसके लिए आप "" के साथ प्रतिस्थापन का उपयोग कर सकते हैं पर:

(?<!^|"|,)"(?!"|,|$)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मेरी बहु-स्तंभ क्वेरी, बहु-स्तंभ अनुक्रमणिका के साथ भी, संबंधित एकल-स्तंभ प्रश्नों की तुलना में नाटकीय रूप से धीमी क्यों है?

  2. MySQL उपयोगकर्ता बनाते समय होस्ट के लिए % का उपयोग करना

  3. कैसे तैयार बयान के साथ एक उचित mysqli विस्तार वर्ग बनाने के लिए?

  4. यात्रा स्थल कैसे कमरे को बंद कर देते हैं?

  5. php - laravel:डेटाबेस में ओवरलैपिंग टाइम को कैसे हैंडल करें?