1. 使用pandas
import pandas a = { "姓名":['张三','李四'], "年龄":[23,25] } data = pandas.DataFrame(a) # a需要是字典格式 # mode='a'表示追加, index=True表示给每行数据加索引序号, header=False表示不加标题 data.to_csv("test1.csv",mode='a',index=False,header=True)
或者
import pandas a = [['张三',23],['李四',25]] data = pandas.DataFrame(data=a) # # mode='a'表示追加, index=True表示给每行数据加索引序号, header=False表示不加标题 data.to_csv("test2.csv",mode='a',index=False,header=['name', 'age'])
一行加入一个数据
import pandas a = ['张三','李四'] data = pandas.DataFrame(data=a) # # mode='a'表示追加, index=True表示给每行数据加索引序号, header=False表示不加标题 data.to_csv("test3.csv",mode='a',index=False,header=['name'])
2. 使用csv
# -*- coding:utf8 -*- import csv # 'w':将数据写入文件时候会将文件之前的数据覆盖 # 'a': 实现的是追加,写数据不会覆盖文件之前的数据 # newline='': 这个限定插入新数据不会空行,如果没有这个,每次插入数据都会隔行填数据 csv_file = csv.writer(open('test.csv','w',newline='')) csv_file.writerow(['姓名','年龄']) csv_file = csv.writer(open('test.csv','a',newline='')) csv_file.writerows([['张三',23],['李四',25]]) print(type(csv_file))
附:pandas dataframe 向csv文件追加列、追加行
1. 向csv文件追加写入行
df_data.to_csv('data.csv', mode='a', header=True, index=None)
to_csv函数的参数:
- mode=‘a’:即向csv文件追加数据,按行追加(如果不存在这个 csv文件,则创建一个并 添加数据)
- header=True:写入dataframe的列名(表头)
- index=None:不添加索引
例:
for index,item in enumerate(list_code): time_name = 'the_time_'+str(index) data_frame = pd.DataFrame({time_name:all_time[index],list_name[index]:all_value[index]}) data_frame.to_csv("data_result.csv", sep=',',mode='a',index = false)
2. 向csv文件追加写入列
for index,item in enumerate(list_code): time_name = 'the_time_'+str(index) if index==0: data_frame = pd.DataFrame({time_name:all_time[index],list_name[index]:all_value[index]}) ##创建一个data_frame else: data_frame[time_name] = all_time[index] ##新列 data_frame[list_name[index]] = all_value[index] ##新列 data_frame.to_csv("data_result.csv", sep=',')
总结
到此这篇关于python利用pandas和csv包向一个csv文件写入或追加数据的文章就介绍到这了,更多相关python向csv文件写入或追加数据内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!