আমি একটি সিএসভি ফাইলের মাধ্যমে বিশ্লেষণ করার চেষ্টা করছি এবং কেবলমাত্র নির্দিষ্ট কলামগুলি থেকে ডেটা বের করতে পারি।
সিএসভির উদাহরণ:
ID | Name | Address | City | State | Zip | Phone | OPEID | IPEDS |
10 | C... | 130 W.. | Mo.. | AL... | 3.. | 334.. | 01023 | 10063 |
আমি শুধুমাত্র নির্দিষ্ট কলাম ক্যাপচার বলছি চেষ্টা করছি ID, Name, Zipএবং Phone।
আমি যে কোডটি দেখেছি তা আমাকে বিশ্বাস করতে পরিচালিত করেছে যে আমি নির্দিষ্ট কলামটিকে তার সংশ্লিষ্ট নম্বর দিয়ে কল করতে পারি, সুতরাং যেমন: Nameসাথে মিলিত হবে 2এবং প্রতিটি সারিতে পুনরাবৃত্তিটি ব্যবহার করে row[2]কলাম ২ এ সমস্ত আইটেম তৈরি করবে Only কেবল এটি নয়।
আমি এখন পর্যন্ত যা করেছি তা এখানে:
import sys, argparse, csv
from settings import *
# command arguments
parser = 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
# open csv file
with open(csv_file, 'rb') as csvfile:
# get number of columns
for line in csvfile.readlines():
array = line.split(',')
first_item = array[0]
num_columns = len(array)
csvfile.seek(0)
reader = csv.reader(csvfile, delimiter=' ')
included_cols = [1, 2, 6, 7]
for row in reader:
content = list(row[i] for i in included_cols)
print content
এবং আমি প্রত্যাশা করছি যে এটি প্রতিটি সারিটির জন্য কেবলমাত্র নির্দিষ্ট কলামগুলি প্রিন্ট করবে যা ব্যতীত আমি কেবল শেষ কলামটি পেয়েছি get
"rb"পাস করার জন্য উপযুক্ত csv.reader।
'rb'পতাকা কেনopen()? এটা সহজ না হওয়া উচিতr?