小编Sam*_*Sam的帖子

在openpyxl中保留原始单元格格式

我使用openpyxl版本2.3.5将数据写入现有的格式化Excel模板(扩展名为.xlsx).问题是当我写入单元格时,该单元格的格式被完全覆盖.例如,Cell A1具有蓝色填充.当我执行以下代码时:

wb = xl.load_workbook('Template.xlsx')
ws = wb.worksheets[0]
ws['A1'] = "TEST"
wb.save('test.xlsx')
Run Code Online (Sandbox Code Playgroud)

单元格A1的填充丢失.电子表格中有很多格式,因此我不想手动指定所有格式.我曾尝试将单元格的原始格式从自身复制到无效.此代码不起作用:

ws['A1'].style = ws['A1'].style
Run Code Online (Sandbox Code Playgroud)

有没有办法保留和/或复制excel电子表格的原始样式/格式,只能写入数据?

python excel python-2.7 openpyxl

7
推荐指数
1
解决办法
2320
查看次数

Pandas groupby,pivot还是stack?将单个列的组转换为多个列

我的数据如下:

2     PresentationID   12954
5          Attendees      65
6          Downloads       0
7          Questions       0
8              Likes      11
9             Tweets       0
10             Polls       0
73    PresentationID   12953
76         Attendees      64
77         Downloads      31
78         Questions       0
79             Likes      11
80            Tweets       0
81             Polls       0
143   PresentationID   12951
146        Attendees      64
147        Downloads      28
148        Questions       2
149            Likes       2
150           Tweets       0
151            Polls       0
Run Code Online (Sandbox Code Playgroud)

我需要得到这种格式:

   PresentationID  Attendees  Downloads  Questions  Likes  Tweets  Polls   
0           12954         65          0          0     11       0      0 …
Run Code Online (Sandbox Code Playgroud)

python-2.7 pandas

4
推荐指数
1
解决办法
61
查看次数

pandas.read_sql 使用 SQLAlchemy 未提交读取

我正在尝试使用 pandas 函数pd.read_sql读取flush在 SQLAlchemy 会话中创建、添加和编辑但未提交的记录。所以我想在 SQLAlchemy 会话中创建一个对象并在调用commit. 使用 Pandas 0.22.0 和 SQLAlchemy 1.1.10。

我已经尝试将isolation_leveloncreate_engine和其他各种将隔离级别设置为“READ UNCOMMITTED”的方法,但这似乎不起作用。下面的最小示例:

# Import packages 

import pandas as pd
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker

# Set up an example ORM

Base = declarative_base()
class Record(Base):
    __tablename__ = 'records'
    id = Column(Integer, primary_key=True)
    foo = Column(String(255))

# Create a session and engine:

database='foobar'
user=''
password = ''
host …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy isolation-level python-3.x pandas

3
推荐指数
1
解决办法
979
查看次数