问题描述
我有一个 DataFrame,其中最后一列是格式列。此列的目的是包含 DataFrame 行的格式。这是此类数据框的示例:
df = pd.DataFrame({'ID': [1, 24, 31, 37],
'Status': ['to analyze', 'to analyze','to analyze','analyzed'],
'priority' : ['P1','P1','P2','P1'],
'format' : ['n;y;n','n;n;n','n;y;y','y;n;y']}
Run Code Online (Sandbox Code Playgroud)
每个 df['format'] 行都包含一个字符串,旨在作为列表(拆分时)给出行的格式。
符号含义:
df['format'].to_list()[0] = 'n;y;n' 表示例如:
所以预期的结果是:
我试过的
我尝试使用 df.format 来获取包含所需格式的列表列表。这是我的代码:
import pandas as pd
import numpy as np
def highlight_case(df):
list_of_format_lists = []
for format_line in df['format']:
format_line_list = format_line.split(';')
format_list = []
for form in format_line_list:
if 'y' in form:
format_list.append('background-color: yellow')
else: …Run Code Online (Sandbox Code Playgroud) 我想做的是将数据帧数据附加到现有的合法 Excel 文件中。我使用了 openpyxl 中的 load_workbook() 函数,但它系统地返回错误。这是一些在我的机器上崩溃的代码:
from openpyxl import load_workbook
report_path = root_folder + '\\log_report.xlsx'
writer = pd.ExcelWriter(report_path, engine='openpyxl')
writer.book = load_workbook(report_path)
writer.close()
Run Code Online (Sandbox Code Playgroud)
这里,log_report.xlsx已经存在并且是通过pandas .to_excel()创建的。在使用 openpyxl load_workbook() 打开之前,可以打开它、编辑它并执行 MS Excel 允许的任何操作。我收到以下错误返回:
Traceback (most recent call last):
File "D:/failsafe_counter/main.py", line 419, in <module>
writer.book = load_workbook(report_path)
File "D:\failsafe_counter\venv\lib\site-packages\openpyxl\reader\excel.py", line 315, in load_workbook
reader = ExcelReader(filename, read_only, keep_vba,
File "D:\failsafe_counter\venv\lib\site-packages\openpyxl\reader\excel.py", line 124, in __init__
self.archive = _validate_archive(fn)
File "D:\failsafe_counter\venv\lib\site-packages\openpyxl\reader\excel.py", line 96, in _validate_archive
archive = ZipFile(filename, 'r')
File "C:\Users\XXXX\AppData\Local\Programs\Python\Python38-32\lib\zipfile.py", line 1269, …Run Code Online (Sandbox Code Playgroud)