আমি একটি সিএসভি ফাইলের মাধ্যমে বিশ্লেষণ করার চেষ্টা করছি এবং কেবলমাত্র নির্দিষ্ট কলামগুলি থেকে ডেটা বের করতে পারি।
সিএসভির উদাহরণ:
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
?