python操作csv文件
python利用open打开文件的方式:
w:以写方式打开,
r : 以 读模式打开
a:以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+:以读写模式打开
w+:以读写模式打开 (参见 w )
a+:以读写模式打开 (参见 a )
rb:以二进制读模式打开
wb:以二进制写模式打开 (参见 w )
ab:以二进制追加模式打开 (参见 a )
rb+:以二进制读写模式打开 (参见 r+ )
wb+:以二进制读写模式打开 (参见 w+ )
ab+:以二进制读写模式打开 (参见 a+ )
#读取
import csv
a= open('1.csv', 'r')
reader = csv.reader(a)#按行读取内容
headers = next(reader)#打印出为title那行
print(reader)
print(headers)
for line in reader:
print (line)
#创建csv,csv包中的writer函数,如果文件不存在,会自动创建
a = open('2.csv','a', newline='')
csv_write = csv.writer(a)
#会创建2.csv
写入数据
import csv
with open("1.csv","w",newline="") as csvfile:
writer = csv.writer(csvfile)
#先写入columns_name
writer.writerow(["a","b","c"])
#写入多行用writerows
writer.writerows([[0,1,3],[1,2,3],[2,3,4]])
import csv
data=[]#空列表
with open('1.csv','r') as f:
f.readline()#f 是有指针的 与c语言类似
f.readline()#忽略前两行乱码
cv=csv.reader(f)
for line in cv:#line 是list对象
data.append(line)#data是嵌套的list
print(data)
1.csv
data
import csv
data=[]
with open('1.csv','r') as f:
f.readline()
f.readline()
cv=csv.reader(f)
for line in cv:#line 是list对象
data.append(line)#data是嵌套的list
print(data)
with open('2.csv','w',newline='') as f:
b=csv.writer(f)
b.writerows(data)