मैं एक csv फ़ाइल के माध्यम से पार्स करने और केवल विशिष्ट स्तंभों से डेटा निकालने का प्रयास कर रहा हूँ।
उदाहरण csv:
कोड>आईडी | नाम | पता | शहर | राज्य | ज़िप | फोन | ओपिड | आईपीईडीएस | 10 | सी... | 130 डब्ल्यू.. | मो.. | एएल... | 3.. | 334.. | 01023 | 10063 |
मैं केवल विशिष्ट कॉलम कैप्चर करने का प्रयास कर रहा हूं, जैसे ID
, Name
, Zip
और <कोड>फोन।
कोड मैंने देखा है जिससे मुझे विश्वास हो गया है कि मैं विशिष्ट कॉलम को उसके संबंधित नंबर से कॉल कर सकता हूं, इसलिए: <कोड>नाम के अनुरूप होगा >यहाँ मैंने अभी तक क्या किया है:
आयात sys, argparse, csv सेटिंग्स आयात से * # कमांड तर्क पार्सर = argparse.ArgumentParser(description="csv to postgres", fromfile_prefix_chars ="@") parser.add_argument("file", help="csv file to import", action ="store") args = parser.parse_args() csv_file = args.file # csv फ़ाइल को ओपन (csv_file, "rb") के साथ csvfile के रूप में खोलें: # csvfile.readlines() में लाइन के लिए कॉलम की संख्या प्राप्त करें: सरणी = लाइन .split(",") first_item = array[0] num_columns = len(array) csvfile.seek(0) Reader = csv.reader(csvfile, delimiter="") include_cols = [1, 2, 6, 7] के लिए पाठक में पंक्ति: सामग्री = सूची (पंक्ति [i] के लिए मैं शामिल_cols में) प्रिंट सामग्री
और मैं उम्मीद कर रहा हूं कि यह केवल उन विशिष्ट स्तंभों को प्रिंट करेगा जिन्हें मैं प्रत्येक पंक्ति के लिए चाहता हूं सिवाय इसके कि ऐसा नहीं है, मुझे केवल अंतिम कॉलम मिलता है।