Python读取CSV文件数据并写入Excel文件:解决openpyxl不支持xls格式问题

本代码演示如何使用Python读取CSV文件中特定数据并写入已存在的Excel文件。代码中使用pandas库进行数据处理,使用openpyxl库操作Excel文件。

问题:

在使用openpyxl库写入Excel文件时,可能会遇到InvalidFileException错误,提示openpyxl does not support the old .xls file format。这是因为openpyxl库不支持旧的.xls文件格式。

解决方法:

  1. xls文件改为xlsx文件
  2. 引入load_workbook函数来加载已存在的Excel文件。

代码示例:

import os
import pandas as pd
from openpyxl import load_workbook

path = r'C:\Users\%s\Desktop' % username
os.chdir(path)
dircontent = os.listdir(path)
for i in dircontent:
    if 'BenchmarkAutomation' in i:
        Z = os.path.join(path, i, 'Result')
        os.chdir(Z)
        dircontent = os.listdir(Z)
        for file_name in dircontent:
            if '[SystemInformation]' in file_name and '.csv' in file_name:
                # 读取CSV文件
                csv_path = os.path.join(Z, file_name)
                df = pd.read_csv(csv_path)
                c11_value = df.iat[9, 2]
                print(c11_value)
                # 写入Excel文件
                excel_path = os.path.join(path, 'Ignis_ADH(IH70A) VGA regression Phase Battery life and Performance Test Report.xlsx')
                writer = pd.ExcelWriter(excel_path, engine='openpyxl')
                writer.book = load_workbook(excel_path)
                writer.sheets = dict((ws.title, ws) for ws in writer.book.worksheets)
                df = pd.DataFrame({'Result': [c11_value]})
                df.to_excel(writer, sheet_name='Result', startrow=0, startcol=7, index=False)
                writer.save()
                writer.close()
                break

解释:

  1. 使用load_workbook函数加载已存在的Excel文件,并将其赋值给writer.book属性。
  2. 使用writer.sheets属性获取Excel文件中的所有工作表,并将其存储在字典中。
  3. 使用df.to_excel方法将数据写入指定的Excel文件,并设置目标工作表、起始行和列。
  4. 使用writer.save()方法保存修改后的Excel文件。
  5. 使用writer.close()方法关闭Excel文件。

注意事项:

  • 请确保已经安装了openpyxlpandas库。
  • 请根据实际情况修改代码中的路径和文件名。

总结:

本文介绍了如何使用Python读取CSV文件数据并写入Excel文件,并解决了openpyxl库不支持旧的.xls文件格式的问题。希望本文能够帮助您解决类似的问题。

Python读取CSV文件数据并写入Excel文件:解决openpyxl不支持xls格式问题

原文地址: https://www.cveoy.top/t/topic/ood7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录