ব্যবহারকারীর নাম users.csv
, ইউজারআইডি এবং অন্যান্য ডেটার তালিকা সহ আমার কাছে সিএসভি ফাইল রয়েছে:
username, userid, sidebar_side, sidebar_colour
"John Lennon", 90123412, "left", "blue"
"Paul McCartny", 30923833, "left", "black"
"Ringo Starr", 77392318, "right", "blue"
"George Harrison", 72349482, "left", "green"
অন্য একটি ফাইলে toremove.txt
আমার কাছে ইউজারআইডিদের একটি তালিকা রয়েছে:
30923833
77392318
users.csv
আইডি থাকা ফাইল থেকে সমস্ত সারি অপসারণ করার জন্য কি কোনও চতুর, দক্ষ উপায় আছে toremove.txt
? আমি দুটি ফাইল পার্স করার জন্য একটি পাইথন অ্যাপ লিখেছি এবং একটি নতুন ফাইলে লিখতে কেবল সেই লাইনগুলিতে পাওয়া যায় নি toremove.txt
, তবে এটি অসাধারণ ধীর। সম্ভবত কিছু sed
বা awk
যাদু এখানে সাহায্য করতে পারেন?
উপরের উদাহরণগুলি বিবেচনা করে এটি কাঙ্ক্ষিত ফলাফল:
username, userid, sidebar_side, sidebar_colour
"John Lennon", 90123412, "left", "blue"
"George Harrison", 72349482, "left", "green"
users.csv
ফাইলের লাইনের জন্য, এবং এর লাইনের জন্য n toremove.txt
। কম জটিলতায় কীভাবে এটি করা যায় আমি সত্যিই নিশ্চিত নই। এটি সারকথা হল: for u in users: if not any(toremove in u): outputfile.write(u)
। আমি কোড পর্যালোচনা পোস্ট করতে পারেন।
toremove.txt
, কীগুলি হিসাবে এন্ট্রিগুলি সংরক্ষণ করতাম । ইউজার সিএসভি আইট্রেট করুন, আইডি ডিকটিতে নেই এমনগুলি মুদ্রণ করুন। আপনি উভয় জন্য পেতে হে (ঢ) প্রক্রিয়াকরণের toremove.txt
এবং users.csv
, এবং হে (ঢ) মেমোরি ব্যবহার toremove.txt
(যা সম্ভবত অপেক্ষাকৃত ছোট হয়)