"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)