Python将csv导入列表,在最后一个双引号后拆分
我有一个从SQL数据库导出的CSV文件。现在的问题是表中的最后一个字段包含许多行。我在将其导入列表时遇到问题。如何将CSV文件导入列表,使列表中的最后一项成为最后一列内容及其所有行。(多个项目,新行应位于一个字段列表中) CSV文件内容:Python将csv导入列表,在最后一个双引号后拆分,python,python-3.x,list,csv,Python,Python 3.x,List,Csv,我有一个从SQL数据库导出的CSV文件。现在的问题是表中的最后一个字段包含许多行。我在将其导入列表时遇到问题。如何将CSV文件导入列表,使列表中的最后一项成为最后一列内容及其所有行。(多个项目,新行应位于一个字段列表中) CSV文件内容: `1,Policy,02/07/2018 11:57:39,Inbound Files,,False,";Facet Advanced:Advanced StrPropType_FileSizeByTypeLimit= StrPropType_ServerPo
`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,`
其余字段仅在数据库中有一个字段,因此我需要将其放在列表中的一个单独项目中。如果您的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"
代码:
输出:
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...
如果您的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"
代码:
输出:
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...
假设最后一个报价没有丢失,并且您的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']
假设最后一个报价没有丢失,并且您的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']
您尝试了什么?@rukhta将open(full_file_path,newline='\n')作为f:for i,x在枚举(f)中,但做得不对。您尝试了什么?@rukhta将open(full_file_path,newline='\n')作为f:for i,x在枚举(f)中,但做得不对。