python对csv文件的写入这里将两种方法,一种是一行行写,一种是一次写入
import pandas as pd
import csv
#A=pd.DataFrame([1,2,3,4],columns=['A'])
#print(A[A.A==3])
#A="quw chaen|ansjn 233|qanwine 4793"
#print(A.strip().split('|'))
#B=A.strip().split('|')
#第一种直接使用pd.Dataframe写入,一次性写入
dataframe=pd.DataFrame({'id':[1,2,3,4,5],'price':[29,34,25,56,56]})
print(dataframe)
dataframe.to_csv('lab.csv',index=False,sep=',')#这里index表示其索引,默认为显示。这里设置为false,sep一般设为‘,’。
上面这种是一次性写入效果如下;
id,price
1,29
2,34
3,25
4,56
5,56
第二种一行行写入;
file=open('lab.csv','w')
writer=csv.writer(file)
A=[['id','price'],[1,29],[2,34],[3,25],[4,56],[5,56]]
for i in range(6):
writer.writerow(A[i][:])
效果一样。你也可以这样写入;
writer.writerows(A)
一次写入多行。
关于读取
一次性读取为pd.Dataframe类型;
file.close()
data=pd.read_csv('lab.csv')
print(data)
注意一定要关闭刚刚打开的文件不然会报错。结果;
id price
0 1 6
1 2 34
2 3 25
3 4 56
4 5 56
一行行读取:
file=open('lab.csv','r')
reader=csv.reader(file)
for line in reader:
print(line)
file.close()
输出:
['id', 'price']
['1', '6']
['2', '34']
['3', '25']
['4', '56']
['5', '56']
法二:
file=open('lab.csv','r')
for i, line in enumerate(file):
print('i',i)
print('lin:',line)
file.close()
结果:
i 0
lin: id,price
i 1
lin: 1,6
i 2
lin: 2,34
i 3
lin: 3,25
i 4
lin: 4,56
i 5
lin: 5,56