Определение: CSV (стойност, разделена със запетая) е подобна на текстов файл, където съхранените данни са разделени с някакъв разделител (обикновено запетая). Всяко поле е разделено с разделител. В Python CSV файловете се обработват с помощта на CSV модула. И така, трябва да импортираме този модул.
Напр: внос csv
Примерът по-долу показва начина, по който данните се съхраняват в CSV файл. Тук запетая се използва като разделител.
Име на файл: person_info.csv
собствено име, бащино име, фамилия, възраст
Ананд, кумар, математика, 31
Sachin, ramesh, tendulakar, 40
Вирендра, сехваг, сингх, 38
Rahul, dravid, xyz, 40
CSV файлът може да бъде отворен във всеки от следните режими:
r -> режим на четене
w -> режим на запис
a -> режим на добавяне
В Python се извършва файлова операция в следния ред:
- Отворете файл;
- Прочетете, напишете или добавете. Когато посочим режим на запис, файлът ще се отвори в режим на запис, ако файлът съществува, в противен случай ще създаде файл. Това е приложимо и за режим на добавяне. В режим на четене, ако файл съществува, той ще го отвори в режим на четене, в противен случай извежда изключение FileNotFoundError; и
- Затворете файла.
Отворете csv файл
Използва се вграден метод open ().
Пример:
- f = отворен („име на файл.csv ”,” r ”) # В csv python по подразбиране е режим на четене
- f = отворен („име на файл.csv ”, 'w') # режим на запис
Затваряне на файл
Използва се вграден метод close ().
fp = отворен ("име на файл.csv ", 'w')# изпълнява някои файлови операции
fp.близо()
Файлови операции с помощта на
Най-добрият начин за извършване на CSV файлова операция и най-често използваният метод е с изявлението. Използването на това гарантира, че файлът се затваря при излизане от блока вътре с.
Пример:
с отворен ('име на файл.csv ',' w ', encoding =' utf-8 ') като fp:# извършва някои файлови операции
# известия извън с блока
Когато излезем с блок, файлът ще бъде затворен автоматично.
Запишете в CSV файл
За да запишем в CSV файл, трябва да го отворим в режим на запис „w“ или да добавим „a“.
В примера по-долу ще четем от един файл и ще записваме в нов файл.
внос csvс отворен ('име на файл.csv ',' r ') като fp:
четец = csv.четец (fp) # четете файл
с open ('newfilename.csv ',' w ') като fq:
писател = csv.писател (fq, разделител = '-')
за ред в четец: # За итерация над всеки ред
писател.writerow (line) #write ред в нов файл
Използване на речник писател
В примера по-долу ще четем от един файл и ще записваме в нов файл, използвайки метода DictWriter ().
внос csvс отворен ('име на файл.csv ',' r ') като fp:
четец = csv.DictReader (fp) # чете файл
с отворен ('newfilename.csv ',' w ', newline = ") като fq: #newline =", за да се избегне добавянето на допълнителен нов ред
row_names = ['собствено име', 'второ име', 'фамилия', 'възраст']
писател = csv.DictWriter (fq, имена на полета = имена на редове, разделител = '-')
писател.writeheader () # напишете заглавни редове
за ред в четец:
писател.writerow (ред)
Списания ()
Този метод записва няколко реда едновременно; трябва да предадем списък със списъци. Пример:
внос csvhead_names = ['собствено име', 'второ име', 'фамилия', 'възраст']
# редове с данни на csv файл
редове = [['Anand', 'kumar', 'math', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# запис в CSV файл
с open ('newfilename.csv ',' w ') като fp:
# създаване на CSV обект на писател
csvwriter = csv.писател (fp)
# напишете заглавието
csvwriter.writerow (имена на глави)
# напишете редовете с данни
csvwriter.записи (редове)
Четене от файл
За да прочетем CSV файла в Python, трябва да отворим файла в режим на четене 'r'. Пример:
внос csvс отворен ('име на файл.csv ',' r ') като fp:
данни = csv.четец (fp)
#default разделителят е запетая, ако csv, разделен от друг разделител, трябва да посочи
# Ex данни = csv.четец (fp, разделител = '-')
print (data) # той връща обект
# прескачане на заглавката
next (data) #call следващ метод на генератор
за ред в данни: # За да итерира над всеки ред
print (line) # отпечатва всяка стойност в списък
fp.търси (0) # пренася курсора на първия ред
за ред в данни:
print (ред [0]) # отпечатва само имена
Използване на речник четец
За да прочетете csv файл, използвайки метода DictReader ().
внос csvс отворен ('име на файл.csv ',' r ') като fp:
четец = csv.DictReader (fp) # чете файл
за ред в четец:
print (line) #print всеки ред под формата на словни
fp.търси (0) # пренася курсора на първия ред
за данни в четец:
print (data ['age']) # можем да отпечатваме само възраст, като използваме клавиша 'age'
Заключение
Научихме как да четем и пишем файл, използвайки CSV модула. CSV файлът е най-често използваният файлов формат в индустрията за автоматизация, тъй като е лесен за четене и промяна на данните. Също така Pandas е друг метод, който можем да използваме за обработка на CSV файлове.