Python CSV transpose data in one column to rows -


मेरे पास केवल पहले कॉलम में डेटा युक्त एक सीएसवी फाइल है,

 यहाँ छवि विवरण दर्ज करें

मैं <हर हर पंक्ति को दूसरी खाली सीएसवी फ़ाइल में स्थानांतरित करने के लिए अजगर का उपयोग करना चाहता हूं < / Strong>, उदाहरण के लिए, पंक्ति 1 से पंक्ति 4 को पहले पंक्ति में ट्रांस्फ़ॉर्म किया गया; फिर दूसरी पंक्ति, ... आदि के लिए पंक्ति 5 से पंक्ति 8 को ट्रांसपोज़ किया गया, और अंत में हम सीएसवी फ़ाइल में 5 * 4 मैट्रिक्स प्राप्त कर सकते हैं।

 यहाँ छवि विवरण दर्ज करें

यह कैसे करने के लिए एक स्क्रिप्ट लिखना है? कृपया मुझे कोई संकेत और सुझाव दें, धन्यवाद।

मैं विंडोज 8.1 x 64 के तहत अजगर 2.7.4 का उपयोग कर रहा हूं।


अपडेट # 1

मैं थोरफ़ेय द्वारा प्रदान किए गए निम्नलिखित कोड का उपयोग करता हूं,

  आयात सिस्टम, ओएस ओएससीडी ('सी: \ यूज़र्स \ हैनज \ डेस्कटॉप') प्रिंट ओएसएटीएसीडीडी ( ) के रूप में ([i.rstrip ()] + नक्शा (str.rstrip, के लिए) के रूप में open_file के रूप में open_file के रूप में open ("test_csv.csv") के साथ itertools आयात के साथ इस्त्लाइस आयात करें ("आउटपुट.csv", "w" इन_आईफ़, 3)) में I के लिए in_f: आउट_फ़ाइल.लिखित ("\ t" .जोइंड (रेखा) + "\ n")   

इनपुट सीएसवी फ़ाइल है, < / p>

यहां छवि विवरण दर्ज करें

और परिणाम है,

यहां छवि विवरण दर्ज करें

यह वही नहीं है जो मैं चाहता हूं। < / p>

आप इस तरह की सूची समझ का उपयोग कर सकते हैं

  डेटा = श्रेणी (20 ) प्रिंट डेटा # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 1 9] प्रिंट [ # [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 9] के लिए मैं [x: 0, लेन (डेटा) 4)] में डेटा [i: i + 4] 10, 11], [12, 13, 14, 15], [16, 17, 18, 1 9]]   

के बजाय 4 , आप चाहते हो सकता है 56 का उपयोग करने के लिए।

चूंकि आप फ़ाइल से पढ़ने की योजना बना रहे हैं, हो सकता है कि आप ऐसा कुछ करना चाहें

  itertools से आयात करें islice in_file के रूप में खुले ("Input.txt") के साथ: प्रिंट [[इंट (रेखा)] + नक्शा (in_file में पंक्ति के लिए int, islice (in_file, 3))   

संशोधित करें अपडेट किए गए प्रश्न के अनुसार, आईटीआरटीओल्ट से आयात किए जाने वाले आईएसएलआईसी से ("Input.txt") आईएनएस के रूप में, ओपन ("आउटपुट.txt", "डब्ल्यू") As_file के रूप में: (i.rstrip ()] + मैप (str.rstrip, islice (in_f, 3)) में लाइन के लिए in_f में: out_file.write ("\ t" .join (line) + "\ N ")

संपादित करें: चूंकि आप अल्पविराम से अलग किए गए मान खोज रहे हैं, आप , के साथ लाइनों में शामिल हो सकते हैं, जैसे < / P>

  out_file.write (",। शामिल हों (पंक्ति) +" \ n ")    

Comments

Popular posts from this blog

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

sql - PostgreSQL automatically update row at specific date -

jsp - No mapping found for HTTP request with URI with annotation config Spring MVC and Jetty -