【问题标题】:Python import csv to list, split after last double double quotesPython将csv导入列表,在最后一个双引号后拆分
【发布时间】:2018-02-07 14:00:10
【问题描述】:

我有一个从 SQL 数据库导出的 CSV 文件。现在的问题是表中的最后一个字段包含很多行。我在将其导入列表时遇到问题。如何将 CSV 文件导入列表,以便列表中的最后一项将是最后一列内容及其所有行。 (带有新行的多个项目应该在一个字段列表中)

CSV 文件内容:

`1,Policy,02/07/2018 11:57:39,Inbound Files,,False,";Facet Advanced:Advanced
StrPropType_FileSizeByTypeLimit=
StrPropType_ServerPort=11073
NumPropType_CheckServerCertificate=False
NumPropType_ResumeSanitizationsOnReconnect=True
NumPropType_KeepAliveSec=60
StrPropType_SyslogServer=
NumPropType_ResultsFormat=0`

当前8列如下时

`1,Policy,02/07/2018 11:57:39,Inbound Files,,False,`

其余的只是数据库中的一个字段,所以我需要将它放在列表中的单独项目中。

【问题讨论】:

  • 你试过什么?
  • @rukhta with open(full_file_path, newline='\n') as f: for i, x in enumerate(f) 但它做的不对。

标签: python python-3.x list csv


【解决方案1】:

假设最后一个引号实际上没有丢失并且您的 csv 文件是正确的 - 只需使用 csv.reader。它会正确处理换行符:

>>> for line in csv.reader(open('...')):
...     print(repr(line))
... 
['1', 'Policy', '02/07/2018 11:57:39', 'Inbound Files', '', 'False', ';Facet Advanced:Advanced\nStrPropType_FileSizeByTypeLimit=\nStrPropType_ServerPort=11073\nNumPropType_CheckServerCertificate=False\nNumPropType_ResumeSanitizationsOnReconnect=True\nNumPropType_KeepAliveSec=60\nStrPropType_SyslogServer=\nNumPropType_ResultsFormat=0']

【讨论】:

    【解决方案2】:

    如果您的 csv 具有正确的引用,您可以将其加载到数据框中:

    输入:

    1,Policy,02/07/2018 11:57:39,Inbound Files,,False,";Facet Advanced:Advanced
    StrPropType_FileSizeByTypeLimit=
    StrPropType_ServerPort=11073
    NumPropType_CheckServerCertificate=False
    NumPropType_ResumeSanitizationsOnReconnect=True
    NumPropType_KeepAliveSec=60
    StrPropType_SyslogServer=
    NumPropType_ResultsFormat=0"
    

    代码:

    import pandas as pd
    a=pd.read_table('data2',engine='python',sep=',',header=None)
    print(a)
    

    输出:

       0       1                    2              3   4      5  \
    0  1  Policy  02/07/2018 11:57:39  Inbound Files NaN  False   
    
                                                       6  
    0  ;Facet Advanced:Advanced\nStrPropType_FileSize...  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多