1. 通过pandas包
读csv:pd.read_csv
import pandas as pd csv_data = pd.read_csv(r‘test.csv‘, engine=‘python‘,encoding=‘utf-8‘) #此时得到的数据是pandas的dataframe格式数据,需要使用对应操作读取数据
写csv:df.to_csv 方法
#可通过字典实现,列表传参 id_value = [1,2,3] name_value = [‘Jack‘,‘Tom‘,‘Bob‘] dict_data = {‘id‘:id_value,‘name‘:name_value} #字典中的key值即为csv中列名 data_frame = pd.DataFrame(dict_data) #将DataFrame存储为csv,index表示是否显示行名,default=True,path指写入的文件名称 data_frame.to_csv(‘test.csv‘, index=True, sep=‘,‘)
2. 通过csv包
只写一行时(可用于写入表头,即第一行):writerow 方法
import csv def create_csv(): path = "test.csv" with open(path,‘w‘, newline=‘‘) as f: csv_write = csv.writer(f) csv_head = ["id","name"] #通过列表传参 csv_write.writerow(csv_head)
写入多行:writerows 方法
def write_csv_rows(): path = "test.csv" with open(path,‘w‘, newline=‘‘) as f: csv_write = csv.writer(f) data_rows = [[1,‘Jack‘],[2,‘Tom‘]] #通过列表中包含列表的形式 list的extend()方法可实现 csv_write.writerows(data_rows)
同时写表头和数据
# 传入参数 csv_path, csv_head, csv_data def write_csv(csv_path, csv_head, csv_data): with open(csv_path,‘w‘, newline=‘‘) as f: csv_write = csv.writer(f) csv_write.writerow(csv_head) csv_write.writerows(csv_data)
一行行读出数据:reader 方法
def read_csv(): path = "test.csv" with open(path,"r") as f: csv_read = csv.reader(f) for line in csv_read: print(line)
参考:
https://blog.csdn.net/lwgkzl/article/details/82147474
原文:https://www.cnblogs.com/qi-yuan-008/p/11953788.html