欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python数据文件读写

程序员文章站 2022-05-14 09:33:07
"CSV" 格式读写 Comma Separated Values 有时也称为字符分隔值,因为分隔字符也可以不是逗号。以 分隔的文件叫csv,以 分隔的叫tsv 需要注意的一点:分隔符 如果文件是其他分隔符,如 ,则需要传入分隔符类型。 读取 列表方式读取 字典方式读取 写入 列表方式写入 字典方式 ......

csv格式读写

comma-separated values 有时也称为字符分隔值,因为分隔字符也可以不是逗号。以,分隔的文件叫csv,以\t分隔的叫tsv

需要注意的一点:分隔符

import csv 

data=[]
with open(r'data.csv',) as csvfile:
    file_list = csv.reader(csvfile,'mydialect')
    for line in file_list:
        data.append(line)
print(data)

如果文件是其他分隔符,如\n,则需要传入分隔符类型。

import csv 

data=[]
with open(r'data.csv',) as csvfile:
    file_list = csv.reader(csvfile,delimiter='\t')
    for line in file_list:
        data.append(line)
print(data)

读取

列表方式读取

import csv

with open('data.csv','r',encoding='utf-8') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        # 读取出的内容是列表格式的
        print(row,type(row),row[1])

字典方式读取

import csv

with open('data.csv','r',encoding='utf-8') as csvfile:
    reader = csv.dictreader(csvfile)
    for row in reader:
        # 读取的内容是字典格式的
        print(row['last_name'])

写入

列表方式写入

import csv

with open('data.csv','a+',encoding='utf-8',newline='') as csvfile:
    writer = csv.writer(csvfile)

    # 写入一行 
    writer.writerow(['1','2','3','4','5','5','6'])

    # 写入多行
    writer.writerows([[0, 1, 3], [1, 2, 3], [2, 3, 4]])

字典方式写入

import csv
with open('data.csv','a+',encoding='utf-8',newline='') as csvfile:
    filename = ['first_name','last_name']
    # 写入列标题
    writer = csv.dictwriter(csvfile,fieldnames=filename)
    writer.writeheader()
    writer.writerow({'first_name':'wl','last_name':'wtx'})
    writer.writerow({'first_name': 'lovely', 'last_name': 'spam'})
    writer.writerow({'first_name': 'wonderful', 'last_name': 'spam'})

json格式读写

python内置json包提供了四个函数:dumps、dump、loads、load。不带s的负责文件与字典的转换。带s的负责字符串和字典的转换。

字典到字符串 string json.dumps(dict)

import json

test_str = json.dumps({'name' : "cat"})

字符串到字典 dict json.loads(string)

import json

test_dict = json.loads("{'name' : "cat"}")

字典到json文件 json.dump(dict, file)

import json

with open("test.json","w") as f:
    json.dump({'name' : "cat"}, f)

json文件到字典 dict json.load(file)

import json

with open("test.json",'r') as f:
    test_dict = json.load(f)