翼度科技»论坛 编程开发 python 查看内容

python利用pandas和csv包向一个csv文件写入或追加数据

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
1. 使用pandas
  1. import pandas
  2. a = {
  3.     "姓名":['张三','李四'],
  4.     "年龄":[23,25]
  5. }
  6. data = pandas.DataFrame(a) # a需要是字典格式
  7. # mode='a'表示追加, index=True表示给每行数据加索引序号, header=False表示不加标题
  8. data.to_csv("test1.csv",mode='a',index=False,header=True)
复制代码
或者
  1. import pandas
  2. a = [['张三',23],['李四',25]]
  3. data = pandas.DataFrame(data=a) #
  4. # mode='a'表示追加, index=True表示给每行数据加索引序号, header=False表示不加标题
  5. data.to_csv("test2.csv",mode='a',index=False,header=['name', 'age'])
复制代码
一行加入一个数据
  1. import pandas
  2. a = ['张三','李四']
  3. data = pandas.DataFrame(data=a) #
  4. # mode='a'表示追加, index=True表示给每行数据加索引序号, header=False表示不加标题
  5. data.to_csv("test3.csv",mode='a',index=False,header=['name'])
复制代码
2. 使用csv
  1. # -*- coding:utf8 -*-
  2. import csv
  3. # 'w':将数据写入文件时候会将文件之前的数据覆盖
  4. # 'a': 实现的是追加,写数据不会覆盖文件之前的数据
  5. # newline='': 这个限定插入新数据不会空行,如果没有这个,每次插入数据都会隔行填数据
  6. csv_file = csv.writer(open('test.csv','w',newline=''))
  7. csv_file.writerow(['姓名','年龄'])
  8. csv_file = csv.writer(open('test.csv','a',newline=''))
  9. csv_file.writerows([['张三',23],['李四',25]])
  10. print(type(csv_file))
复制代码
附:pandas dataframe 向csv文件追加列、追加行


1. 向csv文件追加写入行
  1. df_data.to_csv('data.csv', mode='a', header=True, index=None)
复制代码
to_csv函数的参数:

  • mode=‘a’:即向csv文件追加数据,按行追加(如果不存在这个 csv文件,则创建一个并 添加数据)
  • header=True:写入dataframe的列名(表头)
  • index=None:不添加索引
例:
  1. for index,item in enumerate(list_code):
  2.     time_name = 'the_time_'+str(index)
  3.     data_frame = pd.DataFrame({time_name:all_time[index],list_name[index]:all_value[index]})
  4.     data_frame.to_csv("data_result.csv", sep=',',mode='a',index = false)
复制代码
2. 向csv文件追加写入列
  1. for index,item in enumerate(list_code):
  2.     time_name = 'the_time_'+str(index)
  3.     if index==0:
  4.         data_frame = pd.DataFrame({time_name:all_time[index],list_name[index]:all_value[index]})     ##创建一个data_frame
  5.     else:
  6.         data_frame[time_name] = all_time[index]                                                      ##新列   
  7.         data_frame[list_name[index]] = all_value[index]                                              ##新列
  8. data_frame.to_csv("data_result.csv", sep=',')
复制代码
总结

到此这篇关于python利用pandas和csv包向一个csv文件写入或追加数据的文章就介绍到这了,更多相关python向csv文件写入或追加数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/python/292024myu.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具