haskell - how to parse yahoo csv with parsec -


सरणी में पार्स कैसे करें जैसे कि खुली [i], उच्च [i], कम [i], बंद [i]

  testhaskell.hs: 22: 5: `IO 'के साथ प्रकार' [] 'से मिलान नहीं किया जा सकता है अपेक्षित प्रकार: IO a0 वास्तविक प्रकार: [a0] कॉल की वापसी प्रकार में 'मानचित्र' में एक 'डू' ब्लॉक के एक एसटीएमटी में: नक्शा (\ line - & gt; वाक्य रेखा) allLines अभिव्यक्ति में: करना {हैंडल & lt; - openFile "सी: \\ उपयोगकर्ता \\ ivan \\ Downloads \\ 0388 .HK.csv "रीडमोडा; सामग्री & lt; - hGetContents हैंडल; AllLines = पंक्तियाँ सामग्री दें; मानचित्र (\ line - & gt; वाक्य रेखा) allLines; ....} testhaskell.hs: 22: 19: अपेक्षित प्रकार 'स्ट्रिंग - & gt; A0 'वास्तविक प्रकार' के साथ। पाठ। पैरासेक। प्रिम पर्ससीटी स्ट्रिंग () डेटा.फंक्टर। पहचान। पहचान [स्ट्रिंग] '  

  आयात प्रणाली .आईओ आयात योग्य डेटा को आयात करते हैं। बायट्रेडिंग। सीएचआर आयात के रूप में बीएस आयात योग्य डेटा। बायस्टस्ट्रिंग को एसआरआर आयात के रूप में पाठ। पार्स कॉम्बिनेटर। पैरासेक शब्द :: पार्सर स्ट्रिंग शब्द = कई 1 अक्षर वाक्य :: पार्सर [स्ट्रिंग] वाक्य = करो {शब्द & lt; - sepBy1 शब्द विभाजक; में से एक "।?!" & LT;? & Gt; "वाक्य का अंत"; वापसी शब्द} सेपरेटर :: पार्सर () सेपरेटर = skipMany1 (अंतरिक्ष & lt; | & gt; char ',' & lt;? & Gt; "") main = do handle & lt; - openFile "C: \\ उपयोगकर्ता \\ ivan \\ डाउनलोड \\ 0005.HK.csv "ReadMode सामग्री & lt; - hGetContents संभाल सभी लाइनें = पंक्तियाँ सामग्री मानचित्र (\ line - & gt; वाक्य रेखा) allLines - इनपुट सामग्री सामग्री एच होम्स को बंद करें   

< मजबूत> अपडेट करें:

  मॉड्यूल मुख्य जहां आयात योग्य डेटा.बिटेस्ट्रिंग.कएचआर 8 को बी आयात डेटा के रूप में। मैप ((!)) आयात डेटा। पाठ आयात योग्य डेटा। वीक्टर वी के रूप में आयात प्रणाली। डायरेक्टरी आयात टेस्ट। फ़्रेमवर्क (टेस्ट, डिफॉल्ट मैन, टेस्ट ग्रुप) आयात करें टेस्ट। फ़्रेमवर्क। प्रदाता। एपीआई आयात करें टेस्ट। एच यूनेट ((@ =?)) आयात करें डेटा। सीएसएस.कंडुइट मुख्य :: आईओ () मुख्य = डिफॉल्ट मान टेस्ट :: [टेस्ट] टेस्ट = [टेस्ट ग्रुप "बेसिक ऑप्स" बेसटेस्ट] बेस टेस्ट्स :: [टेस्ट] बेस टेस्ट्स = [टेस्ट सीज़ "सरल पार्सिंग वर्क्स" टेस्ट_सिमलपेर्स] टेस्ट_सिमलपेर्स :: आईओ () टेस्ट_सिमलपेर्स = डॉट (डी :: वी। वेक्टर MapRow B.ByteString)) & lt; - readCSVFile csvSettings testFile1 V.mapM_ assertRo डब्ल्यू घ जहां assertRow आर = वी 3 @ =? (V1 + v2) जहां v1 = readBS $ r! "ओपन" v2 = readBS $ r! "उच्च" v3 = readBS $ r! "कम" v4 = readBS $ r! "बंद करें" csvSettings :: CSVSettings csvSettings = defCSVSettings {csvQuoteChar = बस '`'} testFile1 :: फाइलपैथ testFile1 =" सी: \\ उपयोगकर्ता \\ ivan \\ डाउनलोड्स \ 0005.HK.csv "readBS :: B.ByteString - & gt; Int readBS = पढ़ें बीनपैक   

testhaskell.hs: 52: 5: क्षेत्र में नहीं: `testcase '

testhaskell.hs: 58: 9: अवैध प्रकार के हस्ताक्षर:` वी .Vector (MapRow B.ByteString) 'शायद आप का उपयोग करना चाहते हैं -XScopedTypeVariables पैटर्न प्रकार-हस्ताक्षर में

मैं आपको यह अनुशंसा करता हूं नहीं ऐसा करें हैज पर उच्च गुणवत्ता वाले सीएसवी पुस्तकालय हैं, और अपनी खुद की रोलिंग समस्याओं का एक नुस्खा है। एफपी पूरी तरह से, हम उपयोग करते हैं, हालांकि यह एक महान पुस्तकालय भी है। मैं आपको सुझाएगा कि उनमें से एक को आज़माएं।

Comments

Popular posts from this blog

asp.net - Procedure or function "Procedure name" expects a parameter "Param name" which was not supplied occurs rarely -

c# - The item with identity 'Id' already exists in the metadata collection. Parameter name: item -

c++ - Redefined variable in the other module -