Python ծրագիր՝ ցուցակը CSV-ի փոխակերպելու համար
Բառարանում բանալիները պետք է լինեն եզակի և անփոփոխ, մինչդեռ արժեքները կարող են լինել ցանկացած տեսակի և կարող են ունենալ արժեքների ցանկ: Ցուցակների բառարանի դեպքում յուրաքանչյուր բանալի մատնանշում է մի ցուցակ, որը կարող է պարունակել բազմաթիվ տարրեր:
Ահա ցուցակների բառարանի օրինակ −
data = {'numbers':[1, 2, 3, 4, 5, 6],
'states':['UP', 'Tamil Nadu', 'Telangana', 'Gujarat', 'UP', 'Tamil Nadu'],
'cities':['Agra', 'Chennai', 'Hyderabad', 'Surat', 'Lucknow', 'Coimbatore']})
Վերոնշյալ բառարանում յուրաքանչյուր ստեղն արտացոլված է արժեքների ցանկի հետ: Օրինակ՝ «պետությունների» բանալին քարտեզագրվում է ցանկի վրա ['UP', 'Tamil Nadu', 'Telangana', 'Gujarat', 'UP', 'Tamil Nadu']:
Մյուս կողմից, CSV (ստորակետերով բաժանված արժեքներ) ֆայլը պարզ տեքստային ֆայլ է, որը պահում է աղյուսակային տվյալները պարզ, ստորակետերով բաժանված ձևաչափով: Ֆայլի յուրաքանչյուր տողը սովորաբար ներկայացնում է տվյալների տող, և յուրաքանչյուր տողի արժեքները բաժանվում են ստորակետերով: Առաջին տողը հաճախ ծառայում է որպես վերնագրի տող, որը պարունակում է սյունակների անունները:
Ահա CSV ֆայլի օրինակ, որը ներկայացնում է նախկինում նշված ցուցակների բառարանի տվյալները −
numbers,states,cities
1,UP,Agra
2,Tamil Nadu,Chennai
3,Telangana,Hyderabad
4,Gujarat,Surat
5,UP,Lucknow
6,Tamil Nadu,Coimbatore
Ցանկերի բառարանը CSV ֆայլի փոխարկելիս ընդհանուր մոտեցումը ներառում է բառարանի ստեղների և արժեքների կրկնությունը՝ դրանք CSV ֆայլում գրելու համար: Կան մի քանի տարբեր մոտեցումներ, որոնք մենք կքննարկենք այս հոդվածում:
Օգտագործելով csv մոդուլը
Python-ում csv մոդուլը տրամադրում է CSV ֆայլի վրա տվյալներ գրելու մի քանի մեթոդներ: Այս մեթոդները csv.writer դասի մի մասն են և թույլ են տալիս մեզ գրել առանձին տողեր կամ տվյալների մի քանի տող CSV ֆայլում:
writerow(row) - Այս մեթոդը տվյալների մեկ տող է գրում CSV ֆայլում:
writerows( տողեր) - Այս մեթոդը տվյալների մի քանի տող է գրում CSV ֆայլում:
Բացի այդ, մենք կարող ենք օգտագործել zip() ֆունկցիան` շարք առ տող ցուցակների բառարանի արժեքների վրա կրկնելու համար:
Zip() ֆունկցիան վերցնում է մի քանի կրկնվող թվեր (այս դեպքում՝ արժեքների ցուցակները) և վերադարձնում է կրկնող, որը միավորում է տարրերը յուրաքանչյուր կրկնվողից։ Որը կարող է արդյունավետ կերպով տեղափոխել տվյալները սյունակի վրա հիմնված ներկայացումից տողերի վրա հիմնված ներկայացման:
Օրինակ
Ահա մի օրինակ՝ ցուցակների բառարանը CSV ֆայլի փոխակերպելու համար՝ օգտագործելով Python csv մոդուլը և դրա մեթոդները:
import csv
# define the function
def dict_to_csv(dictionary, filename):
keys = list(dictionary.keys())
values = list(dictionary.values())
with open(filename, 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(keys)
writer.writerows(zip(*values))
# create a dictionary of lits
data = {'numbers':[1, 2, 3, 4, 5, 6],
'colors':['red','green', 'yellow', 'blue', 'brown'],
'fruits':['apples','Avocados', 'Pineapples', 'Blueberries', 'Dates']}
print('Input Dictionary of lits:', data)
print()
# Convert dictionary to CSV
dict_to_csv(data, 'Output\output2.csv')
print('Output:')
print('The converted CSV file is created successfully in our working directory.')
Արդյունք
Input Dictionary of lits: {'numbers': [1, 2, 3, 4, 5, 6], 'colors': ['red', 'green', 'yellow', 'blue', 'brown'], 'fruits': ['apples', 'Avocados', 'Pineapples', 'Blueberries', 'Dates']}
Output:
The converted CSV file is created successfully in our working directory.
Հետևյալ պատկերը ցույց է տալիս փոխարկված csv ֆայլը, որը ստեղծվել է աշխատանքային գրացուցակում:
Օգտագործելով պանդաների գրադարանը
Պանդաների գրադարանը տրամադրում է բազմաթիվ լրացուցիչ գործառույթներ տվյալների մշակման և մանիպուլյացիայի համար, ինչպիսիք են տվյալների զտումը, ագրեգացումը, տեսակավորումը և այլն: Այն աջակցում է CSV ֆայլեր գրել DataFrame-ից՝ օգտագործելով to_csv() ֆունկցիան:
Օրինակ
Այս մոտեցմամբ մենք սկզբում ստեղծում ենք pandas DataFrame-ը ցուցակների բառարանից, այնուհետև մենք կօգտագործենք to_csv() մեթոդը՝ Dataframe-ից CSV ֆայլ ստեղծելու համար:
Տեսնենք պանդաների գրադարանի օգտագործման օրինակ՝ ցուցակի բառարանը CSV ֆայլի փոխարկելու համար:
import pandas as pd
def dict_to_csv(dictionary, filename):
df = pd.DataFrame(dictionary)
df.to_csv(filename, index=False)
# create a dictionary of lits
data = {'nums':[1, 2, 3, 4, 5, 6],
'states':['UP','Tamil Nadu', 'Telangana', 'Gujarat', 'UP', 'Tamil Nadu'],
'cities':['Agra','Chennai', 'Hyderabad', 'Surat', 'Lucknow', 'Coimbatore']}
print('Input Dictionary of lits:', data)
print()
# Convert dictionary to CSV
dict_to_csv(data, 'Output\output.csv')
print('Output:')
print('The converted CSV file is created successfully in our working directory.')
Արդյունք
Input Dictionary of lits: {'nums': [1, 2, 3, 4, 5, 6], 'states': ['UP', 'Tamil Nadu', 'Telangana', 'Gujarat', 'UP', 'Tamil Nadu'], 'cities': ['Agra', 'Chennai', 'Hyderabad', 'Surat', 'Lucknow', 'Coimbatore']}
Output:
The converted CSV file is created successfully in our working directory.
Հետևյալ պատկերը ցույց է տալիս փոխարկված csv ֆայլը, որը ստեղծվել է աշխատանքային գրացուցակում:
Վերոնշյալ երկու օրինակները ցույց են տալիս Python ծրագրավորման միջոցով ցուցակների բառարանը CSV ֆայլի փոխարկելու տարբեր մոտեցումներ: