当前位置:首页 >> 脚本专栏

利用pandas向一个csv文件追加写入数据的实现示例

我们越来越多的使用pandas进行数据处理,有时需要向一个已经存在的csv文件写入数据,传统的方法之前我也有些过,向txt,excel文件写入数据,传送门:Python将二维列表(list)的数据输出(TXT,Excel)

pandas to_csv()只能在新文件写数据?当然不是!

pandas to_csv() 是可以向已经存在的具有相同结构的csv文件增加dataframe数据。

df.to_csv('my_csv.csv', mode='a', header=False)

to_csv()方法mode默认为w,我们加上mode='a',便可以追加写入数据。

pandas读写文件,处理数据的效率太高了,所以我们尽量使用pandas的进行输出。

下面让我们来看一下示例

# -*- coding:utf-8 -*-
import os
import time
import pandas as pd
 
from multiprocessing import Pool
 
def merge(filename):
  return pd.read_csv('./fun_data/'+filename)
 
if __name__ == "__main__":
  file_list = os.listdir('./fun_data')
  e1 = time.time()
 
  pool = Pool(20)
  result = pool.map(merge,file_list)
  pool.close()
  pool.join()
 
  e2 = time.time()
  print(e2 - e1)
 
  for i in result:
    i.to_csv('./static.csv',mode='a',encoding='utf-8',header=False,index=False)
  e3 = time.time()
  print(e3-e2)