Leugh Python Sgrìobh faidhle CSV

Anns an dreuchd seo bidh sinn a ’coimhead air mar a leughas agus a sgrìobhas tu faidhlichean CSV ann am Python. Bidh na h-eisimpleirean a ’cleachdadh modal CSV agus Pandas.



Leugh Python faidhle CSV a ’cleachdadh modal CSV

Tha an eisimpleir còd seo a ’leughadh faidhle leis an ainm orders.csv agus lùban tron ​​dàta:

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

Toradh òrdughan.csv:


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

Leugh faidhle CSV mar fhaclair

A ’cleachdadh an DictReader modh tha gach sreath san fhaidhle CSV air a riochdachadh mar shreath san fhaclair, le ceann a ’cholbh mar an iuchair.

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

Toradh òrdughan.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'}

Leugh faidhle CSV a ’cleachdadh pandathan

Gus Pandas a chleachdadh, feumaidh sinn leabharlann Pandas a stàladh an toiseach.

Gus stàladh, ruith an àithne seo: pip3 install pandas.

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

Toradh òrdughan.csv:

OrderID CustomerID OrderDate 10248

4
10/02/2020 10249

2
10/02/2020 10250

7
10/02/2020


Sgrìobh Python CSV a ’cleachdadh pandathan

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)

Toradh newOrders.csv:


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

Cuir dàta ris a ’fhaidhle CSV a th’ ann

Is e am modh bunaiteach nuair a sgrìobhas tu gu faidhle csv 'w'. Ma tha sinn airson dàta a cheangal ri faidhle CSV a tha ann mu thràth feumaidh sinn am modh eàrr-ràdh a chleachdadh, m.e. 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)

Toradh 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

Sgrìobh Python CSV a ’cleachdadh modal CSV

N.B. Tha a ’chiad sreath air a chleachdadh mar bhann-cinn a’ cholbh

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

Toradh òrdughan.csv:


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

Ma tha thu airson ceangal ri faidhle csv a tha ann mu thràth a ’cleachdadh a’ mhodal csv, feumaidh tu a dhol a-steach 'a' paramadair chun an open() modh. Feumaidh tu cuideachd na “cinn” a sheachnadh.

Mar eisimpleir:

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


Sgrìobh faidhle CSV le DictWriter

Faodaidh sinn cuideachd an DictWriter a chleachdadh modh an csv clas gus faidhle CSV a chruthachadh agus a sgrìobhadh.

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

Toradh òrdughan.csv:


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