Basahin ang Python Sumulat ng CSV File

Sa post na ito titingnan namin kung paano basahin at isulat ang mga CSV file sa Python. Ang mga halimbawa ay gumagamit ng module ng CSV at Pandas.



Basahin ng Python ang CSV File Gamit ang CSV Module

Ang halimbawa ng code na ito ay nagbabasa ng isang file na pinangalanang orders.csv at mga loop sa pamamagitan ng data:

import csv f = open('orders.csv', 'rt') orders = csv.reader(f) for order in orders:
print(order) f.close()

Output ng mga order.csv:


['OrderID', 'CustomerID', 'OrderDate'] ['10248', '4', '10/02/2020'] ['10249', '2', '10/02/2020'] ['10250', '7', '10/02/2020']

Basahin ang CSV File bilang Diksyonaryo

Gamit ang DictReader pamamaraan bawat hilera sa CSV file ay kinakatawan bilang isang hilera sa diksyunaryo, na may header ng haligi na ang susi.

import csv orders = csv.DictReader(open('orders.csv')) for order in orders:
print(order)

Output ng mga 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'}

Basahin ang CSV File Gamit ang Pandas

Upang magamit ang Pandas, kailangan muna naming i-install ang Pandas library.

Upang mai-install, patakbuhin ang utos na ito: pip3 install pandas.

import pandas orders = pandas.read_csv('orders.csv') print(orders)

Output ng mga order.csv:

OrderID CustomerID OrderDate 10248

4
10/02/2020 10249

2
10/02/2020 10250

7
10/02/2020


Python Sumulat ng CSV Gamit ang Pandas

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)

Output ng newOrders.csv:


OrderID,CustomerID,OrderDate 10251,5,11/02/2020 10252,1,11/02/2020 10253,8,11/02/2020

Idagdag ang Data Sa Umiiral na CSV File

Ang default mode kapag sumusulat sa csv file ay 'w'. Kung nais naming idagdag ang data sa isang mayroon nang CSV file kailangan naming gamitin ang append mode, hal. 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)

Output ng 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

Python Sumulat ng CSV Gamit ang Module ng CSV

Ang N.B. Ang unang hilera ay ginagamit bilang header ng haligi

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'])

Output ng mga order.csv:


OrderID,CustomerID,OrderDate 10251,6,11/02/2020 10252,9,11/02/2020 10253,5,11/02/2020

Kung nais mong idagdag sa isang mayroon nang csv file gamit ang module na csv, kailangan mong pumasa sa 'a' parameter sa open() pamamaraan Kailangan mo ring laktawan ang 'mga heading'.

Halimbawa:

with open('orders.csv', 'a', newline='') as file:
order = csv.writer(file)
order.writerow(['10251', '6', '11/02/2020'])


Sumulat ng CSV File kasama ang DictWriter

Maaari din naming magamit ang DictWriter paraan ng csv klase upang lumikha at magsulat ng isang CSV file.

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'})

Output ng mga order.csv:


OrderID,CustomerID,OrderDate 10251,7,11/02/2020 10252,3,11/02/2020 10253,1,11/02/2020