|
| 1 | +# coding: utf-8 |
| 2 | + |
| 3 | +# Пример работы с CSV файлом |
| 4 | + |
| 5 | +import csv |
| 6 | +from StringIO import StringIO |
| 7 | + |
| 8 | +def main(): |
| 9 | + sample_data = StringIO( |
| 10 | + 'Имя,Фамилия,Отчество\n' |
| 11 | + 'Иван, Иванов, Иванович\n' |
| 12 | + 'Василий, Васильев, Васильевич\n' |
| 13 | + ) |
| 14 | + sample_obj = [ |
| 15 | + ("Имя", "Фамилия", "Отчество"), |
| 16 | + ("Иван", "Иванов", "Иванович"), |
| 17 | + ("Василий", "Васильев", "Васильевич"), |
| 18 | + ] |
| 19 | + |
| 20 | + csv_file = open('csv_example.csv','w') |
| 21 | + |
| 22 | + csv_reader = csv.reader(sample_data) |
| 23 | + csv_writer = csv.writer(csv_file) |
| 24 | + |
| 25 | + for row in csv_reader: |
| 26 | + print '|'.join(row) |
| 27 | + |
| 28 | + csv_writer.writerows(sample_obj) |
| 29 | + |
| 30 | + print '=' * 10, 'В виде словаря', '=' * 10 |
| 31 | + |
| 32 | + sample_data.seek(0) |
| 33 | + csv_reader_dict = csv.DictReader(sample_data) |
| 34 | + |
| 35 | + for d in csv_reader_dict: |
| 36 | + print d |
| 37 | + for k,v in d.items(): |
| 38 | + print "%s: %s" % (k,v) |
| 39 | + |
| 40 | + sample_dict = [ |
| 41 | + {'Имя': 'Иван', |
| 42 | + 'Фамилия': 'Иванов', |
| 43 | + 'Отчество': 'Иванович'}, |
| 44 | + |
| 45 | + {'Имя': 'Василий', |
| 46 | + 'Фамилия': 'Васильев', |
| 47 | + 'Отчество': 'Васильевич'}, |
| 48 | + ] |
| 49 | + |
| 50 | + csv_dict_file = open('csv_dict_example.csv', 'w') |
| 51 | + |
| 52 | + csv_writer_dict = csv.DictWriter(csv_dict_file, |
| 53 | + sorted(sample_dict[0].keys())) |
| 54 | + |
| 55 | + csv_writer_dict.writeheader() # python 2.7+ |
| 56 | + csv_writer_dict.writerows(sample_dict) |
| 57 | + |
| 58 | + csv_dict_file.close() |
| 59 | + csv_file.close() |
| 60 | + |
| 61 | +if __name__ == "__main__": |
| 62 | + main() |
0 commit comments