Python 自动拆分具有异常字符的CSV

Python 自动拆分具有异常字符的CSV,python,Python,虽然我可以使用Python操作CSV文件,但如果它是严格以逗号分隔的,则不会出现问题,但我使用的这种格式遇到了一个巨大的问题。它是逗号分隔的,但最后一列是由大约六个逗号组成的网格的圆锥曲线,如下图所示: "{""EvidenceDetails"": [{""MitigationString"": """", ""Criticality"": 2, ""Timestamp"": ""2018-05-07T13:51:02.000Z"", ""CriticalityLabel"": ""Suspic

虽然我可以使用Python操作CSV文件,但如果它是严格以逗号分隔的,则不会出现问题,但我使用的这种格式遇到了一个巨大的问题。它是逗号分隔的,但最后一列是由大约六个逗号组成的网格的圆锥曲线,如下图所示:

"{""EvidenceDetails"": [{""MitigationString"": """", ""Criticality"": 2, ""Timestamp"": ""2018-05-07T13:51:02.000Z"", ""CriticalityLabel"": ""Suspicious"", ""EvidenceString"": ""1 sighting on 1 source: item. Most recent item: Item4: item. I've never seen this IP before. Most recent link (May 7, 2018): link"", ""Rule"": ""Recent""}, {""MitigationString"": """", ""Criticality"": 2, ""Timestamp"": ""2018-05-09T05:32:41.316Z"", "etc"}]}"
其他列是标准的逗号分隔,但这一列太乱了。我只需要拉出时间戳“YYYY-MM-DD”;没有别的了。然而,我似乎想不出一种方法来去除不必要的字符

有什么建议吗?我是专门使用Python的,但是如果还有什么我应该关注的,请告诉我


谢谢

您看到的是JSON格式,因此请尝试使用
JSON
模块:

import json

# if data is in a file
with open('your filename here','r') as f:
    data = json.load(f)

# if data is stored in a string variable
data = json.loads(stringvar)

数据变量现在应该以更容易访问的格式包含数据。

使用正则表达式直接提取所需的日期戳可能比拆分/剥离更容易

以下是您在问题中提供的行的示例:

import re
pattern_to_use = "[0-9]{4}-[0-9]{2}-[0-9]{2}"
string_to_search = """""{""EvidenceDetails"": [{""MitigationString"": """", ""Criticality"": 2, ""Timestamp"": ""2018-05-07T13:51:02.000Z"", ""CriticalityLabel"": ""Suspicious"", ""EvidenceString"": ""1 sighting on 1 source: item. Most recent item: Item4: item. I've never seen this IP before. Most recent link (May 7, 2018): link"", ""Rule"": ""Recent""}, {""MitigationString"": """", ""Criticality"": 2, ""Timestamp"": ""2018-05-09T05:32:41.316Z"", "etc"}]}"""""
print(re.findall(pattern, string_to_search))
这将按日期戳在字符串中出现的顺序打印包含日期戳的数组(即,
['2018-05-07','2018-05-09']


有关正则表达式的更多信息,请参阅。

哦,这更合理。。。我知道他们在后端使用JSON,但我不知道这是直接转换成CSV。好吧,我来试一试!完全忘记了正则表达式。我来试一试,谢谢!