我正在尝试从csv文件中放入一些数据以存在excel文件。我存在的excel文件包含图像,而xlrd无法获取图像。我尝试使用xlsxwriter,但它无法追加到现有的xslx。我发现的唯一解决方案是使用openpyxl。
import openpyxl
xfile = openpyxl.load_workbook('my_exist_file')
sheet = xfile.get_sheet_by_name('Sheet1')
with open("my_csv", 'rb') as f:
reader = csv.reader(f)
for r, row in enumerate(reader):
for c, col in enumerate(row):
-here is my problem-
如何将csv数据(即表)写入存在的xslx中的特定位置?我希望我的桌子从K2单元格开始。
谢谢!
使用pandas.read_csv
提取的信息
import pandas as pd
df = pd.read_csv(my_filename)
您可能需要指定的选项
灵感来自于:https : //stackoverflow.com/a/20221655/1562285查看pandas.to_excel
文档中其他可能的选择
book = load_workbook(old_filename)
sheet_name = 'Sheet1'
with pd.ExcelWriter(new_filename, engine='openpyxl') as writer:
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, sheet_name=sheet_name, startrow=1, startcol=10, engine='openpyxl')
startrow和startcol表示要在工作表中粘贴数据的位置。
此方法可能会覆盖此工作表上的先前内容。如果是这样,您将不得不遍历DataFrame的列和行,并将它们半手动添加到工作表中
如果您有图像要插入外部,则可以使用文档中的代码
from openpyxl.drawing.image import Image
ws = book['sheet_name_for_images']
ws['A1'] = 'You should see three logos below'
img = Image('logo.png')
# add to worksheet and anchor next to cells
ws.add_image(img, 'A1')
我没有对此进行测试,因此您可能需要在 writer.sheets = ...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句