我想用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
我并没有对熊猫做很多工作我自己,所以我不能提供这么多的例子,但会欢迎文档的改进。 –