import csv headers = ['学号','姓名','分数'] rows = [{'学号':'202001','姓名':'张三','分数':'98'}, {'学号':'202002','姓名':'李四','分数':'95'}, {'学号':'202003','姓名':'王五','分数':'92'}] with open('score.csv','w',encoding='utf8',newline='') as f : writer = csv.dictwriter(f,headers) writer.writeheader() writer.writerows(rows)
会发现结果和方式1相同。
(3). 使用writelines()创建:
import csv headers = ['学号,姓名,分数','n'] csv = ['202001,张三,98','n', '202002,李四,95','n', '202003,王五,92'] with open('score.csv', 'w',encoding='utf8',newline='') as f: f.writelines(headers) # write() argument must be str, not tuple f.writelines(csv)
csv = [] for line in lines: scores = result[line[0]] for wav, scores in scores.items(): # csv.append(line[0]) # csv.append(wav) # csv.append(str(i) for i in scores) # csv.append('n') #csv.append(','.join([wav] + [str(i) for i in scores] + 'n')) csv.append(line[0] +','+ wav ) for i in scores: csv.append(','+ str(i)) csv.append('n') with open('task3-result.csv', 'w') as f: f.writelines(csv)
2. python中读取csv文件
原score.csv文件在excel中打开如下:
(1). 使用pandas.read_csv()读取
代码如下:
import pandas as pd my_matrix = pd.read_csv('score.csv')#,header=none,index_col=none) ''' header : int or list of ints, default ‘infer',指定行数用来作为列名,数据开始行数。如果文件中没有列名,则默认为0, index_col : int or sequence or false, default none,用作行索引的列编号或者列名 ''' print(my_matrix) print(my_matrix.shape)