[CSV (Comma Separated Values)]即逗號(hào)分隔值(也稱字符分隔值,因?yàn)榉指舴梢圆皇嵌禾?hào)),是一種常用的文本格式,用以存儲(chǔ)表格數(shù)據(jù),包括數(shù)字或者字符。
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.跳過首行標(biāo)題行
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打印行號(hào)
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,可排序,可轉(zhuǎn)化字符串
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讀取鍵值對(duì)csv, 存入dict
with open("instance.csv") as csvFile:
mDict = {}
reader = csv.DictReader(csvFile)
for row in reader:
#跳過標(biāo)題行
if reader.line_num == 1:
continue
#生成字典
mDict[row[0]]=row[1]
print(mDict)
8利用csv.Dictreader讀取鍵值對(duì)csv, 存入dict
with open("instance.csv") as csvFile:
result = {}
reader = csv.DictReader(csvFile)
for row in reader:
result[row["name"]]=row["score"]
print(result)