A cikin wannan rubutun zamu duba yadda ake karantawa da rubuta fayilolin CSV a Python. Misalan suna amfani da tsarin CSV da Pandas.
Wannan lambar misali tana karanta fayil mai suna orders.csv
da madaukai ta hanyar bayanan:
import csv f = open('orders.csv', 'rt') orders = csv.reader(f) for order in orders:
print(order) f.close()
Fitar da oda.csv:
['OrderID', 'CustomerID', 'OrderDate'] ['10248', '4', '10/02/2020'] ['10249', '2', '10/02/2020'] ['10250', '7', '10/02/2020']
Amfani da DictReader
Hanyar kowane layi a cikin fayil ɗin CSV an wakilta azaman jere a cikin ƙamus, tare da taken shafi yana maɓallin.
import csv orders = csv.DictReader(open('orders.csv')) for order in orders:
print(order)
Fitar da oda.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'}
Don amfani da Pandas, da farko muna buƙatar shigar da laburaren Pandas.
Don shigarwa, gudanar da wannan umarnin: pip3 install pandas
.
import pandas orders = pandas.read_csv('orders.csv') print(orders)
Fitar da oda.csv:
OrderID CustomerID OrderDate 10248
4
10/02/2020 10249
2
10/02/2020 10250
7
10/02/2020
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)
Fitarwa na newOrders.csv:
OrderID,CustomerID,OrderDate 10251,5,11/02/2020 10252,1,11/02/2020 10253,8,11/02/2020
Yanayin tsoho yayin rubutu zuwa fayil csv shine 'w'
. Idan muna son sanya bayanai zuwa fayil ɗin CSV da yake akwai dole muyi amfani da yanayin ƙarawa, misali. 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)
Fitarwa na 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
N.B Ana amfani da jere na farko azaman rubutun shafi
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'])
Fitar da oda.csv:
OrderID,CustomerID,OrderDate 10251,6,11/02/2020 10252,9,11/02/2020 10253,5,11/02/2020
Idan kanaso ka lika wa fayil din csv da ake amfani da shi ta hanyar amfani da csv module, akwai bukatar ka shigo cikin siga ga 'a'
hanya. Hakanan kuna buƙatar tsallake 'taken'.
Misali:
open()
Hakanan zamu iya amfani da with open('orders.csv', 'a', newline='') as file:
hanyar
order = csv.writer(file)
order.writerow(['10251', '6', '11/02/2020']) DictWriter
aji don ƙirƙirar da rubuta fayil ɗin CSV.
csv
Fitar da oda.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'})