Python 从csv文件中的字符串提取特定信息

Python 从csv文件中的字符串提取特定信息,python,csv,Python,Csv,先来点背景故事。我得到了一个脚本,可以下载并打开一个.csv文件并读取内容。脚本中我遇到问题的部分如下 file = Download_Folder + str(attachment) print (file + " is active") file = open(file, 'r') for line in file: if "WOD" in line: print(WOD) 我遇到的问题是,每行都在500-1000个字符之间,我只希望脚本返回其中的一些字符。我不能使用切片,因为我的信

先来点背景故事。我得到了一个脚本,可以下载并打开一个.csv文件并读取内容。脚本中我遇到问题的部分如下

file = Download_Folder + str(attachment)
print (file + " is active")
file = open(file, 'r')
for line in file:
 if "WOD" in line:
  print(WOD)
我遇到的问题是,每行都在500-1000个字符之间,我只希望脚本返回其中的一些字符。我不能使用切片,因为我的信息前后的字符数对于每一行都是不同的。下面是一行示例

2020-01-15 07:05:59 CET;ORD007_PickListReport;'7000009569 7000009494 7000009867 7000009364 7000009808 7000009260;完成;WOD0200115070558117;884ee259-f2ba-48c6-8ef8-39fc6e48805b
我希望脚本在行字符串中找到3个字符(“WOD”),并打印它们和后面的16个字符。然后去扫描循环中的下一行。

使用string index()方法:


使用str.find获取“WOD”的索引,然后使用您熟悉的slicingare?您可以定义一个模式并在每一行中搜索该模式阅读问题的具体内容?我在这里没有看到任何具体问题。当未找到子字符串时,这将引发
ValueError
for line in file:
    try:
        index = line.index("WOD", 0, len(line))
        print(line[index:(index + 17)])
    except ValueError:
        continue