一、Pandas追加数据到Excel不覆盖
如果要向已有的Excel文件中追加数据时,要确保原有数据的不被覆盖。使用Pandas中的ExcelWriter对象可以实现向Excel文件追加数据。
import pandas as pd from openpyxl import load_workbook # 加载已有的Excel文件 book = load_workbook('file.xlsx') writer = pd.ExcelWriter('file.xlsx', engine='openpyxl') writer.book = book # 查找Sheet名 writer.sheets = dict((ws.title, ws) for ws in book.worksheets) # 在Sheet1中写入数据 df.to_excel(writer, "Sheet1", index=False) # 关闭写入流 writer.save()
二、Pandas追加数据到CSV
Pandas中的to_csv方法能够将DataFrame数据写入到CSV文件中。其中mode参数可以控制写入的方式,'a'表示追加到已有文件中而不覆盖原有数据。
import pandas as pd # 创建一个包含ABC列的DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 将数据追加到csv文件中 with open('file.csv', 'a') as f: df.to_csv(f, header=f.tell()==0, index=False, mode='a')
三、Pandas向CSV文件追加数据
Pandas中的read_csv函数可以读取CSV文件,直接读入然后操作DataFrame就可以直接向文件中追加数据。
import pandas as pd # 读入已有的CSV文件 df = pd.read_csv('file.csv', header=0) # 追加新数据 new_data = {'A': 10, 'B': 20, 'C': 30} df = df.append(new_data, ignore_index=True) # 将新数据写回CSV文件中 df.to_csv('file.csv', mode='a', index=False, header=False)
四、Pandas写入Excel
Pandas提供的DataFrame.to_excel方法可以将数据写入Excel文件中。如果要追加数据到已有的Excel文件中,要使用ExcelWriter对象并将已有的Excel文件加载进来,然后将DataFrame写入到对应的Sheet中。
import pandas as pd # 创建DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 将DataFrame写入Excel文件中 df.to_excel('file.xlsx', sheet_name='Sheet1', index=False)
五、Pandas往Excel追加数据
要在已有的Excel文件中追加数据,方法与追加数据到CSV文件类似,通过ExcelWriter对象将已有的Excel文件加载进来,并将DataFrame写入到对应的Sheet中。
import pandas as pd from openpyxl import load_workbook # 加载已有的Excel文件 book = load_workbook('file.xlsx') # 创建DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 将DataFrame追加到Excel文件中 writer = pd.ExcelWriter('file.xlsx', engine='openpyxl') writer.book = book writer.sheets = dict((ws.title, ws) for ws in book.worksheets) df.to_excel(writer, "Sheet1", index=False) writer.save()
六、Pandas的DataFrame追加数据
向DataFrame中追加数据可以使用DataFrame.append方法。如果数据量比较大,为了防止内存不足,可以使用循环的方式追加数据。
import pandas as pd # 创建DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 追加新数据 new_data = {'A': 10, 'B': 20, 'C': 30} df = df.append(new_data, ignore_index=True)
七、Pandas to_csv追加
使用to_csv方法将DataFrame写入CSV文件时,可以通过mode参数控制写入的方式。'a'表示追加文件而不覆盖原有的数据。
import pandas as pd # 创建DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 向已有的CSV文件中追加新数据 new_data = {'A': 10, 'B': 20, 'C': 30} df.append(new_data, ignore_index=True).to_csv('file.csv', mode='a', header=False, index=False)
八、Pandas追加写入
要向已有的Excel文件中追加数据,要通过ExcelWriter对象将已有的Excel文件加载进来,然后将DataFrame追加到对应的Sheet中。写回时使用append写入方式。
import pandas as pd from openpyxl import load_workbook # 加载已有的Excel文件 book = load_workbook('file.xlsx') # 创建DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 将DataFrame追加到Excel文件中 with pd.ExcelWriter('file.xlsx', engine='openpyxl', mode='a') as writer: writer.book = book df.to_excel(writer, sheet_name='Sheet1', header=False, index=False)
九、Pandas CSV追加
通过Pandas的read_csv方法将CSV文件读入DataFrame,并使用append方法向DataFrame追加新数据,最后再将DataFrame写入回原CSV文件中。
import pandas as pd # 将CSV文件读入DataFrame df = pd.read_csv('file.csv', header=0) # 追加新数据 new_data = {'A': 10, 'B': 20, 'C': 30} df = df.append(new_data, ignore_index=True) # 将DataFrame写回CSV文件中 df.to_csv('file.csv', mode='a', header=False, index=False)