इस पोस्ट में हम देखेंगे कि पायथन में सीएसवी फाइलों को कैसे पढ़ना और लिखना है। उदाहरण CSV मॉड्यूल और पांडा का उपयोग करते हैं।
पायथन CSV मॉड्यूल का उपयोग करके CSV फ़ाइल पढ़ें
यह कोड उदाहरण orders.csv
. नामक फ़ाइल को पढ़ता है और डेटा के माध्यम से लूप करता है:
import csv
f = open("orders.csv", "rt")
orders = csv.reader(f)
for order in orders:
print(order)
f.close()
ऑर्डर का आउटपुट.csv:
['OrderID', 'CustomerID', 'OrderDate']
['10248', '4', '10/02/2020']
['10249', '2', '10/02/2020']
['10250', '7', '10/02/2020']
CSV फ़ाइल को डिक्शनरी के रूप में पढ़ें
DictReader
का उपयोग करना विधि सीएसवी फ़ाइल में प्रत्येक पंक्ति को शब्दकोश में एक पंक्ति के रूप में दर्शाया गया है, जिसमें कॉलम हेडर कुंजी है।
import csv
orders = csv.DictReader(open("orders.csv"))
for order in orders:
print(order)
ऑर्डर का आउटपुट.csv:
{'OrderID': '10248', 'CustomerID': '4', 'OrderDate': '10/02/2020'}
{'OrderID': '10249', 'CustomerID': '2', 'OrderDate': '10/02/2020'}
{'OrderID': '10250', 'CustomerID': '7', 'OrderDate': '10/02/2020'}
पंडों का उपयोग करके CSV फ़ाइल पढ़ें
पंडों का उपयोग करने के लिए, हमें सबसे पहले पंडों की लाइब्रेरी स्थापित करनी होगी।
स्थापित करने के लिए, यह आदेश चलाएँ:pip3 install pandas
।
import pandas
orders = pandas.read_csv('orders.csv')
print(orders)
ऑर्डर का आउटपुट.csv:
OrderID CustomerID OrderDate
10248 4 10/02/2020
10249 2 10/02/2020
10250 7 10/02/2020
पायथन पंडों का उपयोग करके CSV लिखें
from pandas import DataFrame
import pandas as pd
order = pd.DataFrame({'OrderID': ['10251', '10252', '10253'],
'CustomerID': ['5', '1', '8'],
'OrderDate': ['11/02/2020', '11/02/2020', '11/02/2020']})
order.to_csv('newOrders.csv', index=False)
newOrders.csv का आउटपुट:
OrderID,CustomerID,OrderDate
10251,5,11/02/2020
10252,1,11/02/2020
10253,8,11/02/2020
डेटा को मौजूदा CSV फ़ाइल में जोड़ें
csv फ़ाइल में लिखते समय डिफ़ॉल्ट मोड 'w'
. है . यदि हम मौजूदा CSV फ़ाइल में डेटा जोड़ना चाहते हैं तो हमें एपेंड मोड का उपयोग करना होगा, उदा। mode='a'
from pandas import DataFrame
import pandas as pd
order = pd.DataFrame({'OrderID': ['10254'],
'CustomerID': ['3'],
'OrderDate': ['11/02/2020']})
order.to_csv('newOrders.csv', mode='a', index=False, header=False)
newOrders.csv का आउटपुट:
OrderID,CustomerID,OrderDate
10251,5,11/02/2020
10252,1,11/02/2020
10253,8,11/02/2020
10254,3,11/02/2020
पायथन CSV मॉड्यूल का उपयोग करके CSV लिखें
एन.बी. पहली पंक्ति का उपयोग कॉलम हेडर के रूप में किया जाता है
import csv
with open('orders.csv', 'w', newline='') as file:
order = csv.writer(file)
order.writerow(['OrderID', 'CustomerID', 'OrderDate'])
order.writerow(['10251', '6', '11/02/2020'])
order.writerow(['10252', '9', '11/02/2020'])
order.writerow(['10253', '5', '11/02/2020'])
ऑर्डर का आउटपुट.csv:
OrderID,CustomerID,OrderDate
10251,6,11/02/2020
10252,9,11/02/2020
10253,5,11/02/2020
यदि आप csv मॉड्यूल का उपयोग करके किसी मौजूदा csv फ़ाइल में जोड़ना चाहते हैं, तो आपको 'a'
में पास करना होगा open()
. के लिए पैरामीटर तरीका। आपको "शीर्षक" को भी छोड़ना होगा।
उदाहरण के लिए:
फ़ाइल के रूप मेंwith open('orders.csv', 'a', newline='') as file:
order = csv.writer(file)
order.writerow(['10251', '6', '11/02/2020'])
DictWriter के साथ CSV फ़ाइल लिखें
हम DictWriter
का भी उपयोग कर सकते हैं csv
. की विधि CSV फ़ाइल बनाने और लिखने के लिए कक्षा।
import csv
with open('orders.csv', 'w', newline='') as file:
fieldnames = ['OrderID', 'CustomerID', 'OrderDate']
order = csv.DictWriter(file, fieldnames=fieldnames)
order.writeheader()
order.writerow({'OrderID': '10251', 'CustomerID': 7, 'OrderDate': '11/02/2020'})
order.writerow({'OrderID': '10252', 'CustomerID': 3, 'OrderDate': '11/02/2020'})
order.writerow({'OrderID': '10253', 'CustomerID': 1, 'OrderDate': '11/02/2020'})
ऑर्डर का आउटपुट.csv:
OrderID,CustomerID,OrderDate
10251,7,11/02/2020
10252,3,11/02/2020
10253,1,11/02/2020