diff --git a/csv/eggs.csv b/csv/eggs.csv new file mode 100644 index 0000000000000000000000000000000000000000..9466ef004eef0e2ef1f0bd67e62348b9956635ff --- /dev/null +++ b/csv/eggs.csv @@ -0,0 +1,2 @@ +Spam Spam Spam Spam Spam |Baked Beans| +Spam |Lovely Spam| |Wonderful Spam| diff --git a/csv/name.csv b/csv/name.csv new file mode 100644 index 0000000000000000000000000000000000000000..0e9d562558f957cc7eb9525edbb0f1f18a1b9a82 --- /dev/null +++ b/csv/name.csv @@ -0,0 +1,3 @@ +name,age,sex +小明,20,男 +小红,22,女 diff --git a/csv/name.xlsx b/csv/name.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a6164494c010fa1d9752e3d49fe4b93a59546a24 Binary files /dev/null and b/csv/name.xlsx differ diff --git a/csv/name2.csv b/csv/name2.csv new file mode 100644 index 0000000000000000000000000000000000000000..4bfbf838772ccefd3094d3e6a18bbbdcc185d901 --- /dev/null +++ b/csv/name2.csv @@ -0,0 +1,2 @@ +name,age +小明,20 diff --git a/csv/name3.csv b/csv/name3.csv new file mode 100644 index 0000000000000000000000000000000000000000..448be73f89093af557d91b45cc65590de1d1b8fb --- /dev/null +++ b/csv/name3.csv @@ -0,0 +1,3 @@ +name,age +小明,20 +小红,21 diff --git a/csv/name4.csv b/csv/name4.csv new file mode 100644 index 0000000000000000000000000000000000000000..f4483c28be09db0dfdd7ef7f192126ca502d6d1f --- /dev/null +++ b/csv/name4.csv @@ -0,0 +1,4 @@ +first_name,last_name +Baked,Beans +Lovely,Spam +Wonderful,Spam diff --git a/csv/read_csv.py b/csv/read_csv.py new file mode 100644 index 0000000000000000000000000000000000000000..99cfe121cb3b3b95e0826eb4e82f9882eb64a5f0 --- /dev/null +++ b/csv/read_csv.py @@ -0,0 +1,27 @@ +import csv + +# 第1种 +file_name = 'name.csv' +with open(file_name, newline='') as f: + reader = csv.reader(f, dialect='excel') + header_row = next(reader) + for index, column_header in enumerate(header_row): + print(index, column_header) + + names, ages, sexs = [], [], [] + for row in reader: + names.append(row[0]) + ages.append(int(row[1])) + sexs.append(row[2]) + + print(names) + print(ages) + print(sexs) + + print('-------------------') +# 第2种 将每行中的信息映射到一个 dict +with open(file_name, newline='') as f: + reader = csv.DictReader(f) + for row in reader: + print(row) + print(row['name']) diff --git a/csv/write_csv.py b/csv/write_csv.py new file mode 100644 index 0000000000000000000000000000000000000000..08890c4e52fddc39b6d904becb09c875fb0ac5b6 --- /dev/null +++ b/csv/write_csv.py @@ -0,0 +1,30 @@ +import csv + +title = ['name', 'age'] +d1 = ['小明', 20] +d2 = ['小红', '21'] +dicts = [title, d1, d2] + +# 一行一行写 +file_name = 'name2.csv' +with open(file_name, 'w', newline='') as f: + writer = csv.writer(f) + writer.writerow(title) + writer.writerow(d1) + +# 一次全写出去 +file_name = 'name3.csv' +with open(file_name, 'w', newline='') as f: + writer = csv.writer(f) + writer.writerows(dicts) + +# 使用字典写 +file_name = 'name4.csv' +with open(file_name, 'w', newline='') as f: + fieldnames = ['first_name', 'last_name'] + writer = csv.DictWriter(f, fieldnames=fieldnames) + + writer.writeheader() + writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'}) + writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'}) + writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})