簡體   English   中英

如何在不使用pandas更改文件中的現有數據的情況下將新列附加到Excel文件?

[英]How to append a new column to an Excel file without changing the existing data on the file using pandas?

安裝pandas和必要的庫並從Excel文件中讀取后,我想添加一個新列,但是當我在文件上回寫時,它會刪除文件中已有的信息並只提供新列。

這是我使用的代碼:

pf=pd.DataFrame({'ID': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]})
writer=pd.ExcelWriter(pathdata, engine='xlsxwriter')
pf.to_excel(writer, sheet_name='Sheet1')
writer.save()

您最初從excel中提取數據作為數據 ,然后您正在創建一個新的數據幀, df 然后,您將此新數據幀寫入excel( df .to_excel(writer,sheet_name ='Sheet1')。這個新數據幀與您最初提取的數據無關。這應該可以解決您的問題:

import pandas as pd
pathdata= r'C:\Users\......\........\project.xlsx'
data = pd.read_excel(pathdata)

data['ID'] = [10,20,30,40,50,60,70,80,90,100]

writer=pd.ExcelWriter(pathdata, engine='xlsxwriter' )
data.to_excel(writer, sheet_name='Sheet1')
writer.save() 

如果要通過為要添加的列創建新數據框來解決此問題,可以執行以下操作:

import pandas as pd
pathdata= r'C:\Users\......\........\project.xlsx'
data = pd.read_excel(pathdata)

df=pd.DataFrame({'ID':[10,20,30,40,50,60,70,80,90,100]})
x = [data, df]
data = pd.concat(x, axis = 1)

writer=pd.ExcelWriter(pathdata, engine='xlsxwriter' )
data.to_excel(writer, sheet_name='Sheet1')
writer.save() 

可能是因為您實際上並未從Excel文件中讀取數據。 在不知道實際數據是什么樣的情況下,這可能是您想要的工作流程:

df = pd.read_excel(pathdata)
df['ID'] = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
df.to_excel(newpathdata)
import pandas as pd
pathdata= r'C:\Users\......\........\project.xlsx'
data= pd.read_excel(pathdata)

現在我想將此列表添加為附加列,例如此列表ID = [10,20,30,40,50,60,70,80,90,100]

df=pd.DataFrame({'ID':[10,20,30,40,50,60,70,80,90,100]})
writer=pd.ExcelWriter(pathdata, engine='xlsxwriter' )
df.to_excel(writer, sheet_name='Sheet1')
writer.save() 

這只是給我帶有新列的文件,我希望保留以前的信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM