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)