পাইথনে সিএসভি ডেটার একক লাইন কীভাবে পড়বেন?


94

পাইথন ব্যবহার করে সিএসভি ডেটা পড়ার অনেকগুলি উদাহরণ রয়েছে যেমন:

import csv
with open('some.csv', newline='') as f:
  reader = csv.reader(f)
  for row in reader:
    print(row)

আমি কেবল একটি লাইনের ডেটা পড়তে এবং এটি বিভিন্ন ভেরিয়েবলের মধ্যে প্রবেশ করতে চাই। আমি কেমন করে ঐটি করি? আমি একটি কাজের উদাহরণের জন্য সর্বত্র খুঁজে পেয়েছি।

আমার কোডটি কেবলমাত্র আমার জন্য মান এবং অন্যান্য মানগুলির কোনওটিই পুনরুদ্ধার করে

reader = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in reader:
  i = int(row[0])
  a1 = int(row[1])
  b1 = int(row[2])
  c1 = int(row[2])
  x1 = int(row[2])
  y1 = int(row[2])
  z1 = int(row[2])

আপনার সিএসভি কাঠামো কি? আপনি rowযখন পাঠকের মাধ্যমে পুনরাবৃত্তি করছেন তখন কী হয় ?
dm03514

উত্তর:


145

সিএসভি ফাইলের প্রথম সারিটি পড়তে next()পাঠক অবজেক্টে ব্যবহার করুন।

with open('some.csv', newline='') as f:
  reader = csv.reader(f)
  row1 = next(reader)  # gets the first line
  # now do something here 
  # if first row is the header, then you can do one more next() to get the next row:
  # row2 = next(f)

বা:

with open('some.csv', newline='') as f:
  reader = csv.reader(f)
  for row in reader:
    # do something here with `row`
    break

38

আপনি ঠিক প্রথম সারিতে যেমন পেতে পারেন:

with open('some.csv', newline='') as f:
  csv_reader = csv.reader(f)
  csv_headings = next(csv_reader)
  first_line = next(csv_reader)

4
Csv_reader = csv.reader (চ) ... ": সম্ভবত, এটা চ যেমন" খোলা ( 'csv_file', 'দ') সঙ্গে "যোগ করার জন্য ভালো
Sanchit

23

বিশাল ডেটাসেট থেকে প্রথম কয়েকটি লাইন পড়তে আপনি পান্ডাস গ্রন্থাগারটি ব্যবহার করতে পারেন।

import pandas as pd

data = pd.read_csv("names.csv", nrows=1)

আপনি ন্যারো প্যারামিটারে পড়ার জন্য লাইনগুলির সংখ্যা উল্লেখ করতে পারেন।


13

থেকে পাইথন ডকুমেন্টেশন :

এবং মডিউল সরাসরি পার্সিং স্ট্রিং সমর্থন করে না, এটি সহজেই করা যেতে পারে:

import csv
for row in csv.reader(['one,two,three']):
    print row

আপনার স্ট্রিং ডেটা কেবল একটি একক তালিকায় ফেলে দিন।


8

সিএসভি ফাইলে কোনও সারি পাওয়ার সহজ উপায়

import csv
csvfile = open('some.csv','rb')
csvFileArray = []
for row in csv.reader(csvfile, delimiter = '.'):
    csvFileArray.append(row)
print(csvFileArray[0])

4
পাইথন 3-এ এই কাজটি করতে, কেবল 'আরবি'-তে' বি 'সরান
রিকি অ্যাভিনা

4
এটি ঠিক কাজ করে, আসলে ছাড়া delimiter='.'
suvtfopw

4
পোস্টার প্রশ্নের উত্তর দেওয়ার জন্য, এর breakপরে একটি যুক্ত করুন csvFileArray.append(row)এবং এটি কেবল প্রথম লাইনটি পড়বে।
স্ট্রাটাসবেস এলএলসি

5

কেবলমাত্র রেফারেন্সের জন্য, forপ্রথম ফাইলটি বাকী ফাইলটি পাওয়ার জন্য একটি লুপ ব্যবহার করা যেতে পারে:

with open('file.csv', newline='') as f:
    reader = csv.reader(f)
    row1 = next(reader)  # gets the first line
    for row in reader:
        print(row)       # prints rows 2 and onward

3

এই ক্ষেত্রে 4 থেকে 7 লাইন পর্যন্ত লাইনটির একটি সীমা ছাপতে

import csv

with open('california_housing_test.csv') as csv_file:
    data = csv.reader(csv_file)
    for row in list(data)[4:7]:
        print(row)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.