CSV फ़ॉर्मैटर
निर्दिष्ट कॉलमों के साथ CSV फ़ाइलें बनाएँ।
वर्कफ़्लो डेटा को संरचित CSV प्रारूप में परिवर्तित करें, इसके लिए कस्टम कॉलम परिभाषित करें, डेटा ट्रांसफ़ॉर्मेशन लागू करें, और बैच डेटा को CSV दस्तावेज़ों में समेकित करें, साथ ही लॉगिंग, रिपोर्टिंग, और डेटा निर्यात वर्कफ़्लो के लिए स्वचालित टाइमस्टैम्प ट्रैकिंग करें.
यह ब्लॉक कैसे काम करता है
यह ब्लॉक कई स्रोतों के डेटा को संरचित कॉलमों में व्यवस्थित करके वर्कफ़्लो डेटा को CSV (Comma-Separated Values) प्रारूप में फ़ॉर्मैट करता है। यह ब्लॉक:
से डेटा संदर्भ लेता है
columns_dataएक शब्दकोश जो कॉलम नामों को वर्कफ़्लो डेटा स्रोतों (सेलेक्टर्स, स्थिर मान, या वर्कफ़्लो इनपुट्स) से मैप करता हैवैकल्पिक रूप से डेटा रूपांतरण संचालन लागू करता है
columns_operations, जो कॉलम डेटा को रूपांतरित करने के लिए क्वेरी लैंग्वेज (UQL) का उपयोग करता है (जैसे, डिटेक्शनों से गुण निकालना, गणनाएँ करना, मानों को स्वरूपित करना)स्वचालित रूप से एक
टाइमस्टैम्पकॉलम जोड़ता है, जिसमें वर्तमान UTC समय ISO प्रारूप में होता है (उदा.,2024-10-18T14:09:57.622297+00:00) प्रत्येक पंक्ति में - ध्यान दें कि "timestamp" एक आरक्षित कॉलम नाम हैबैच इनपुट्स को कई डेटा बिंदुओं को पंक्तियों में समेकित करके संभालता है:
एकल इनपुट के लिए (
batch_size=1): हेडर पंक्ति और एक डेटा पंक्ति के साथ CSV बनाता हैबैच इनपुट्स के लिए (
batch_size>1): हेडर पंक्ति और प्रत्येक इनपुट के लिए एक पंक्ति के साथ CSV बनाता है, सभी पंक्तियों को एक ही CSV दस्तावेज़ में समेकित करता है, जिसे केवल अंतिम बैच तत्व में आउटपुट किया जाता है (पहले तत्व खाली CSV सामग्री लौटाते हैं)
जब कई बैच इनपुट प्रदान किए जाते हैं, तो बैच पैरामीटरों को संरेखित करता है, गैर-बैच पैरामीटरों को अधिकतम बैच आकार से मेल खाने के लिए प्रसारित करता है
pandas DataFrame सीरियलाइज़ेशन का उपयोग करके संरचित डेटा शब्दकोश को CSV प्रारूप में परिवर्तित करता है
लौटाता है
csv_contentएक स्ट्रिंग के रूप में जिसमें संपूर्ण CSV दस्तावेज़ (हेडर और डेटा पंक्तियाँ) शामिल है
यह ब्लॉक लचीली कॉलम परिभाषा का समर्थन करता है, जहाँ प्रत्येक कॉलम विभिन्न वर्कफ़्लो डेटा स्रोतों (डिटेक्शन प्रेडिक्शन्स, क्लासिफिकेशन परिणाम, वर्कफ़्लो इनपुट्स, गणना किए गए मान, आदि) का संदर्भ दे सकता है और वैकल्पिक रूप से विशिष्ट गुण निकालने या डेटा फ़ॉर्मैट करने के लिए ट्रांसफ़ॉर्मेशन लागू कर सकता है। स्वचालित टाइमस्टैम्प कॉलम यह ट्रैक करने में सक्षम बनाता है कि प्रत्येक CSV पंक्ति कब जनरेट हुई, जो लॉगिंग और टाइम-सीरीज़ डेटा संग्रह के लिए उपयोगी है। बैच समेकन ब्लॉक को कई वर्कफ़्लो निष्पादनों से डेटा एकत्र करने और उन्हें एक ही CSV दस्तावेज़ में संयोजित करने की अनुमति देता है, जो विशेष रूप से बैच प्रोसेसिंग वर्कफ़्लोज़ के लिए उपयोगी है, जहाँ आप कई डिटेक्शनों, छवियों, या विश्लेषण परिणामों को एक CSV फ़ाइल में लॉग करना चाहते हैं.
सामान्य उपयोग के मामले
डिटेक्शन लॉगिंग और रिपोर्टिंग: डिटेक्शन परिणामों के CSV लॉग बनाएं (उदा., ऑब्जेक्ट डिटेक्शन मॉडल से क्लास नाम, कॉन्फिडेंस स्कोर, बाउंडिंग बॉक्स निर्देशांक लॉग करें), जिससे विश्लेषण, डिबगिंग, या ऑडिट ट्रेल्स के लिए इन्फरेंस परिणामों की संरचित लॉगिंग सक्षम हो
समय-श्रृंखला डेटा संग्रह: समय के साथ वर्कफ़्लो मेट्रिक्स, काउंट्स, या विश्लेषण परिणामों को CSV प्रारूप में समेकित करें (उदा., लाइन काउंटर काउंट्स, ज़ोन ऑक्यूपेंसी, डिटेक्शन फ़्रीक्वेंसी लॉग करें), प्रवृत्ति विश्लेषण या रिपोर्टिंग के लिए टाइम-स्टैम्प्ड डेटासेट बनाएं
बैच डेटा निर्यात: बैच प्रोसेसिंग वर्कफ़्लोज़ से डेटा एकत्र और समेकित करें CSV फ़ाइलों में (उदा., छवियों के एक बैच से सभी डिटेक्शन निर्यात करें, कई वर्कफ़्लो रन से मेट्रिक्स एकत्र करें), जिससे कुशल बल्क डेटा निर्यात और रिपोर्टिंग सक्षम हो
संरचित डेटा रूपांतरण: जटिल वर्कफ़्लो आउटपुट से विशिष्ट गुण निकालें और फ़ॉर्मैट करें (उदा., डिटेक्शनों से क्लास नाम निकालें, नेस्टेड डेटा संरचनाओं को फ्लैट CSV कॉलम में परिवर्तित करें), डाउनस्ट्रीम विश्लेषण या बाहरी प्रणालियों के लिए डेटा रूपांतरण सक्षम करें
बाहरी प्रणालियों के साथ एकीकरण: बाहरी टूल्स के साथ संगतता के लिए वर्कफ़्लो डेटा को फ़ॉर्मैट करें (उदा., स्प्रेडशीट विश्लेषण, डेटाबेस आयात, या बिज़नेस इंटेलिजेंस टूल्स के लिए CSV फ़ाइलें बनाएं), जिससे निर्बाध डेटा निर्यात और एकीकरण वर्कफ़्लोज़ सक्षम हों
डेटा समेकन और विश्लेषण: कई वर्कफ़्लो स्रोतों से डेटा को संरचित CSV प्रारूप में संयोजित करें (उदा., डिटेक्शन परिणामों को मेटाडेटा के साथ मर्ज करें, मॉडल आउटपुट को संदर्भ डेटा के साथ संयोजित करें), व्यापक डेटा संग्रह और विश्लेषण वर्कफ़्लोज़ सक्षम करें
अन्य ब्लॉक्स से कनेक्ट करना
इस ब्लॉक की CSV सामग्री को इससे जोड़ा जा सकता है:
डिटेक्शन या विश्लेषण ब्लॉक (उदा., Object Detection Model, Instance Segmentation Model, Classification Model, Keypoint Detection Model, Line Counter, Time in Zone) उनके आउटपुट को CSV कॉलम में फ़ॉर्मैट करने के लिए, जिससे इन्फरेंस परिणामों और एनालिटिक्स डेटा की संरचित लॉगिंग और निर्यात सक्षम हो
डेटा स्टोरेज ब्लॉक्स (उदा., Local File Sink) CSV फ़ाइलों को डिस्क पर सहेजने के लिए, जिससे फ़ॉर्मैट किए गए वर्कफ़्लो डेटा का बाद के विश्लेषण या रिपोर्टिंग के लिए स्थायी भंडारण सक्षम हो
सूचना ब्लॉक (उदा., Email Notification, Slack Notification) सूचनाओं में CSV सामग्री संलग्न या शामिल करने के लिए, जिससे CSV रिपोर्ट्स को ईमेल अटैचमेंट के रूप में भेजा जा सके या संदेश बॉडी में शामिल किया जा सके
वेबहुक ब्लॉक (उदा., Webhook Sink) CSV सामग्री को बाहरी APIs या सेवाओं को भेजने के लिए, जिससे CSV डेटा उपभोग करने वाली बाहरी प्रणालियों के साथ एकीकरण सक्षम हो
अन्य फ़ॉर्मैटर ब्लॉक (उदा., JSON Parser, Expression) CSV सामग्री को आगे संसाधित करने या इसे अन्य प्रारूपों में परिवर्तित करने के लिए, जिससे बहु-चरणीय डेटा रूपांतरण वर्कफ़्लोज़ सक्षम हों
बैच प्रसंस्करण वर्कफ़्लो जहाँ कई डेटा बिंदुओं को एक ही CSV दस्तावेज़ में समेकित करने की आवश्यकता होती है, जिससे बैच प्रोसेसिंग परिणामों की व्यापक लॉगिंग और निर्यात संभव हो
प्रकार पहचानकर्ता
स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फ़ील्ड: roboflow_core/csv_formatter@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।
गुण
नाम
प्रकार
विवरण
संदर्भ
name
str
इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..
❌
columns_data
Dict[str, Union[bool, float, int, str]]
CSV कॉलम बनाने के लिए कॉलम नामों को डेटा स्रोतों से मैप करने वाला एक शब्दकोश। कुंजियाँ कॉलम नाम हैं (ध्यान दें: 'timestamp' आरक्षित है और इसका उपयोग नहीं किया जा सकता)। मान सेलेक्टर्स हो सकते हैं जो वर्कफ़्लो डेटा का संदर्भ देते हैं (उदा., '$steps.model.predictions', '$inputs.data'), स्थिर मान (स्ट्रिंग्स, संख्याएँ, बूलियन), या दोनों का मिश्रण। प्रत्येक कुंजी-मूल्य युग्म एक CSV कॉलम बनाता है। बैच इनपुट्स का समर्थन करता है - यदि मान बैच हैं, तो CSV सभी बैच तत्वों को पंक्तियों में समेकित करेगा। उदाहरण: {'predictions': '$steps.object_detection.predictions', 'count': '$steps.line_counter.count_in'} 'predictions' और 'count' नामक CSV कॉलम बनाता है..
✅
columns_operations
Dict[str, List[Union[ClassificationPropertyExtract, ConvertDictionaryToJSON, ConvertImageToBase64, ConvertImageToJPEG, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsRename, DetectionsSelection, DetectionsShift, DetectionsToDictionary, Divide, ExtractDetectionProperty, ExtractFrameMetadata, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, PickDetectionsByParentClass, RandomNumber, SequenceAggregate, SequenceApply, SequenceElementsCount, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, TimestampToISOFormat, ToBoolean, ToNumber, ToString]]]
CSV फ़ॉर्मैटिंग से पहले कॉलम डेटा को रूपांतरित करने के लिए कॉलम नामों को क्वेरी लैंग्वेज (UQL) संचालन परिभाषाओं से मैप करने वाला वैकल्पिक शब्दकोश। कुंजियाँ columns_data में परिभाषित कॉलम नामों से मेल खानी चाहिए। मान UQL संचालन की सूचियाँ हैं (उदा., डिटेक्शन से क्लास नाम निकालने के लिए DetectionsPropertyExtract, स्ट्रिंग संचालन, गणनाएँ), जो कच्चे कॉलम डेटा को रूपांतरित करती हैं। संचालन प्रत्येक कॉलम के डेटा पर क्रम में लागू किए जाते हैं। यदि कोई कॉलम नाम इस शब्दकोश में नहीं है, तो डेटा बिना किसी रूपांतरण के ज्यों का त्यों उपयोग किया जाता है। उदाहरण: {'predictions': [{'type': 'DetectionsPropertyExtract', 'property_name': 'class_name'}]} डिटेक्शन प्रेडिक्शन्स से क्लास नाम निकालता है..
❌
यह संदर्भ स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है वर्कफ़्लो रनटाइम। देखें बाइंडिंग्स अधिक जानकारी के लिए।
इनपुट और आउटपुट बाइंडिंग्स
उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार CSV फ़ॉर्मेटर संस्करण v1 है।
इनपुट और आउटपुट बाइंडिंग्स
इनपुट
columns_data(*): CSV कॉलम बनाने के लिए कॉलम नामों को डेटा स्रोतों से मैप करने वाला एक शब्दकोश। कुंजियाँ कॉलम नाम हैं (ध्यान दें: 'timestamp' आरक्षित है और इसका उपयोग नहीं किया जा सकता)। मान सेलेक्टर्स हो सकते हैं जो वर्कफ़्लो डेटा का संदर्भ देते हैं (उदा., '$steps.model.predictions', '$inputs.data'), स्थिर मान (स्ट्रिंग्स, संख्याएँ, बूलियन), या दोनों का मिश्रण। प्रत्येक कुंजी-मूल्य युग्म एक CSV कॉलम बनाता है। बैच इनपुट्स का समर्थन करता है - यदि मान बैच हैं, तो CSV सभी बैच तत्वों को पंक्तियों में समेकित करेगा। उदाहरण: {'predictions': '$steps.object_detection.predictions', 'count': '$steps.line_counter.count_in'} 'predictions' और 'count' नामक CSV कॉलम बनाता है..
आउटपुट
csv_content(string): स्ट्रिंग मान.
अंतिम अपडेट
क्या यह उपयोगी था?