pandas to \u sql复制列

2024-06-28 15:46:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从pandas数据帧创建一个数据库表。我收到一个奇怪的错误,我不能用一个简单的例子来复制。在

这就是密码

    import pandas as pd
    import os
    import sqlite3
    import sqlalchemy
    from sqlalchemy import create_engine
    from sqlalchemy.orm import sessionmaker
    path = 'sqlite://'
    engine = create_engine(path, echo=False)

df_kerbs, df_flows = get_dataframes()
    df = pd.merge(df_kerbs, df_flows, on=['Src', 'SrcPort', 'Dst', 'DstPort', 'First'], how='right')

    df.to_sql(name='FlowsKerbsMerged', con=engine, index=False, if_exists='append', 
                      index_label='First')

这是输出:

^{pr2}$

此外,如果之前出现以下情况,我不会收到错误:

df.to_sql(name='FlowsKerbsMerged', con=engine, index=False, if_exists='append', index_label='First')

我将其中两列重命名,即

df = df.rename(columns={'Application': 'Application2', 'Bytes': 'Bytes2'}

总之,在我的df中,我有重复的列,但情况似乎并非如此:

In [6]: len(df.columns)                                                                                                                                                                                            
Out[6]: 91                                                                                                                                                                                                         

In [7]: len(set(df.columns))                                                                                                                                                                                       
Out[7]: 91                                                                                                                                                                                                         

错误的原因是什么?在

编辑:

以下是列列表:

In [5]: df.columns                                                                                                                                                                                          
Out[5]:                                                                                                                                                                                                     
Index([u'ClientIP', u'ConversationIdentifier', u'CorvilOrderId', u'DomainName',                                                                                                                             
       u'DomainNameSalt', u'HostName', u'HostNameAugmented', u'HostNameSalt',                                                                                                                               
       u'KRB AP-REQ.ap-options', u'KRB AP-REQ.msg-type', u'KRB AP-REQ.pvno',                                                                                                                                
       u'KRB ETYPE-INFO2-ENTRY.etype', u'KRB ETYPE-INFO2-ENTRY.salt',                                                                                                                                       
       u'KRB EncryptedData.cipher', u'KRB EncryptedData.etype',                                                                                                                                             
       u'KRB EncryptedData.kvno', u'KRB HostAddress.addr-type',                                                                                                                                             
       u'KRB HostAddress.address', u'KRB KDC-REP.crealm',                                                                                                                                                   
       u'KRB KDC-REP.msg-type', u'KRB KDC-REP.pvno',                                                                                                                                                        
       u'KRB KDC-REQ-BODY.etype.values',                                                                                                                                                                    
       u'KRB KDC-REQ-BODY.etype.values:repeating',                                                                                                                                                          
       u'KRB KDC-REQ-BODY.kdc-options', u'KRB KDC-REQ-BODY.nonce',                                                                                                                                          
       u'KRB KDC-REQ-BODY.realm', u'KRB KDC-REQ-BODY.rtime',                                                                                                                                                
       u'KRB KDC-REQ-BODY.till', u'KRB KDC-REQ.msg-type', u'KRB KDC-REQ.pvno',                                                                                                                              
       u'KRB KERB-PA-PAC-REQUEST.include-pac', u'KRB KRB-ERROR.e-data',                                                                                                                                     
       u'KRB KRB-ERROR.error-code', u'KRB KRB-ERROR.error-code_string',                                                                                                                                     
       u'KRB KRB-ERROR.error-description_string', u'KRB KRB-ERROR.msg-type',                                                                                                                                
       u'KRB KRB-ERROR.pvno', u'KRB KRB-ERROR.realm', u'KRB KRB-ERROR.stime',                                                                                                                               
       u'KRB KRB-ERROR.susec', u'KRB PA-DATA.padata-type',                                                                                                                                                  
       u'KRB PA-DATA.padata-value', u'KRB PA-ENC-TS-ENC.patimestamp',                                                                                                                                       
       u'KRB PA-PAC-OPTIONS.flags', u'KRB PrincipalName.name-string.values',                                                                                                                                
       u'KRB PrincipalName.name-string.values:repeating',                                                                                                                                                   
       u'KRB PrincipalName.name-type', u'KRB Ticket.realm',                                                                                                                                                 
       u'KRB Ticket.tkt-vno', u'Msg Decoder', u'Msg ID', u'Msg Type',                                                                                                                                       
       u'RequestReply', u'ServerIP', u'UserName', u'UserNameAugmented',                                                                                                                                     
       u'UserNameSalt', u'Watchlist Match', u'application', u'bytes',                                                                                                                                       
       u'client_port', u'dir', u'Dst', u'DstPort', u'server_port', u'Src',                                                                                                                                  
       u'SrcPort', u'time', u'ts_ns', u'First', u'Protocol', u'Group ID',                                                                                                                                   
       u'Port', u'VPort', u'IP TOS', u'VLAN ID', u'VLAN Pri', u'MPLS Exp',                                                                                                                                  
       u'Application', u'Packets', u'Messages', u'Bytes', u'Last',                                                                                                                                          
       u'LearnedIPs alertable', u'LearnedIPs learned-ip',                                                                                                                                                   
       u'LearnedIPs new-ips', u'LearnedIPs subnet-name',                                                                                                                                                    
       u'LearnedIPs timestamp-sec', u'LearnedIPs total-ips', u'SrcSubnet',                                                                                                                                  
       u'DstSubnet'],                                                                                                                                                                                       
      dtype='object')                           

Tags: columnsnameimportdfindextypebodyerror
1条回答
网友
1楼 · 发布于 2024-06-28 15:46:13

在列表的索引58处有一个名为application的列。在

在列表的索引78处有一个名为Application的列。在

在列表的索引59处有一个名为bytes的列。在

在列表的索引81处有一个名为Bytes的列。在

Python不认为这些是重复的,因为set()区分大小写,例如:

set(['Foo', 'foo', 'Foo'])
#{'Foo', 'foo'}

您也可以通过以下方式检查:

^{pr2}$

相关问题 更多 >