python读写csv文件(csv)

[CSV (Comma Separated Values)]即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符。

1. 利用文件类型直接迭代访问(含有中文)

with open('testdata.csv', encoding="GB2312") as f:
  for line in f:
    row = line.split(',')

2. 利用csv.reader()迭代访问

with open('testdata.csv', encoding="GB2312") as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

3.跳过首行标题行

with open('testdata.csv', encoding="GB2312") as f:
    reader = csv.reader(f)
    #跳过首行
    header = next(reader)
    for row in reader:
        print(row)

4. 跳过符合条件的行

with open('testdata.csv', encoding="GB2312") as f:
    reader = csv.reader(f)
    for row in reader:
        #利用正则匹配跳过第一列为'file'
        if re.match(r"^file$",rows[0]):
            pass
        else:
            print(row)

5. 跳过第n行

with open('testdata.csv', encoding="GB2312") as f:
    reader = csv.reader(f)
    for i, row in enumerate(reader):
        if i == 5:
            pass
        else:
            print(row)

6打印行号

with open('testdata.csv', encoding="GB2312") as f:
    reader = csv.reader(f)
    for i,rows in enumerate(reader):
        print("ROW #{0} {1}".format(i,rows))

7操作csv记录list,可排序,可转化字符串

with open('testdata.csv', encoding="GB2312") as f:
    reader = csv.reader(f)
    header = next(reader)
    for rows in reader:
        rows.sort()
        print("|".join(rows))

8利用csv.reader读取键值对csv, 存入dict

with open("instance.csv") as csvFile:
    mDict = {}
    reader = csv.DictReader(csvFile)
    for row in reader:
        #跳过标题行
        if reader.line_num == 1:
            continue
        #生成字典
        mDict[row[0]]=row[1]
    print(mDict)

8利用csv.Dictreader读取键值对csv, 存入dict

with open("instance.csv") as csvFile:
    result = {}
    reader = csv.DictReader(csvFile)
    for row in reader:
        result[row["name"]]=row["score"]
    print(result)

你可能感兴趣的:(python读写csv文件(csv))