我想用excel文件來存儲用python闡述的數據。我的問題是我無法將工作表添加到現有的Excel文件中。在這裏我建議一個示例代碼,以便與工作分別達到這個問題如何使用Pandas在現有的Excel文件中保存新工作表?
import pandas as pd
import numpy as np
path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx"
x1 = np.random.randn(100, 2)
df1 = pd.DataFrame(x1)
x2 = np.random.randn(100, 2)
df2 = pd.DataFrame(x2)
writer = pd.ExcelWriter(path, engine = 'xlsxwriter')
df1.to_excel(writer, sheet_name = 'x1')
df2.to_excel(writer, sheet_name = 'x2')
writer.save()
writer.close()
該代碼可以節省2個DataFrames到兩片,名爲「X1」和「X2」。如果我創建兩個新的DataFrame並嘗試使用相同的代碼添加兩個新工作表'x3'和'x4',則原始數據將丟失。
import pandas as pd
import numpy as np
path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx"
x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)
x4 = np.random.randn(100, 2)
df4 = pd.DataFrame(x4)
writer = pd.ExcelWriter(path, engine = 'xlsxwriter')
df3.to_excel(writer, sheet_name = 'x3')
df4.to_excel(writer, sheet_name = 'x4')
writer.save()
writer.close()
我想要一個帶有四張表格的excel文件:'x1','x2','x3','x4'。 我知道'xlsxwriter'不是唯一的「引擎」,有'openpyxl'。我也看到已經有其他人寫過關於這個問題的文章,但我還是不明白該怎麼做。
這裏從這個link
import pandas
from openpyxl import load_workbook
book = load_workbook('Masterfile.xlsx')
writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])
writer.save()
採取了代碼,他們說,它的工作原理,但它是很難弄清楚如何。我不明白「ws.title」,「ws」和「dict」在這種情況下。
保存「x1」和「x2」,然後關閉文件,再次打開並添加「x3」和「x4」的最佳方法是什麼?
如果你可以添加一些類似於[this]的「Pandas」示例,這將非常有用(http://xlsxwriter.readthedocs.io/working_with_pandas.html) – MaxU
我並沒有對熊貓做很多工作我自己,所以我不能提供這麼多的例子,但會歡迎文檔的改進。 –