Update 33_country_code.py · realpython/python-scripts@88f9a67

1-

import csv

2-

import sys

3-

import json

4-5-

"""

6-

Example usage:

7-8-

$ python 33_country_code.py 33_sample_csv.csv 33_country_codes.json

9-

"""

10-11-12-

def get_data(csv_file, json_file):

13-

countryCodes = []

14-

countryNames = []

15-

continentNames = []

16-

with open(csv_file, 'rt') as file_one:

17-

reader = csv.reader(file_one)

18-

with open(json_file) as file_two:

19-

json_data = json.load(file_two)

20-

all_countries = json_data["country"]

21-

for csv_row in reader:

22-

for json_row in all_countries:

23-

if csv_row[0] == json_row["countryCode"]:

24-

countryCodes.append(json_row["countryCode"])

25-

countryNames.append(json_row["countryName"])

26-

continentNames.append(json_row["continentName"])

27-28-

return [

29-

countryCodes,

30-

countryNames,

31-

continentNames

32-

]

33-34-35-

def write_data(array_of_arrays):

36-

with open('data.csv', 'wt') as csv_out:

37-

writer = csv.writer(csv_out)

38-

rows = zip(

39-

array_of_arrays[0],

40-

array_of_arrays[1],

41-

array_of_arrays[2]

42-

)

43-

for row in rows:

44-

writer.writerow(row)

45-46-47-

if __name__ == '__main__':

48-

csv_file_name = sys.argv[1]

49-

json_file_name = sys.argv[2]

50-

data = get_data(csv_file_name, json_file_name)

51-

write_data(data)

1+

import csv, json

2+3+4+

with open("33_country_codes.json","r") as file:

5+

data=json.load(file)

6+

print(data)

7+8+9+10+11+12+13+14+15+

codes = {"country": [

16+

{

17+

"countryCode": "AD",

18+

"countryName": "Andorra",

19+

"continentName": "Europe"

20+

},

21+

{

22+

"countryCode": "AE",

23+

"countryName": "United Arab Emirates",

24+

"continentName": "Asia"

25+

},

26+

{

27+

"countryCode": "AF",

28+

"countryName": "Afghanistan",

29+

"continentName": "Asia"

30+

}

31+

]

32+

}

33+34+

codesc=[]

35+

countries=[]

36+

continrnt=[]

37+38+39+

print(codes["country"][0]["countryName"])

40+41+

for code in data["country"]:

42+

codesc.append(code["countryCode"])

43+

countries.append(code["countryName"])

44+

continrnt.append(code["continentName"])

45+46+47+48+

print(codesc)

49+

print(countries)

50+

print(continrnt)

51+52+53+

def save_csv(codesc, countries, continrnt):

54+

with open("myCSV1.csv", "w", newline="") as file:

55+

writer=csv.writer(file)

56+

writer.writerow(["country Code","country Name","continent Name"])

57+

print(codesc,countries,continrnt)

58+

for i in range(1,len(countries)):

59+

writer.writerow([codesc[i],countries[i],continrnt[i]])

60+61+62+

save_csv(codesc,countries,continrnt)