您的位置:

使用Pandas追加数据到Excel文件

一、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)