使用 python 删除 csv 文件中的部分内容

Remove part contents in csv file using python

我有一个包含描述列的 CSV 文件。在该描述中,字符串以 'CAD' 结尾,然后是一些数字。

描述如下。

|Description|
|Case Number and Notes: CAD ID: 21-012886|
|Case Number and Notes: 21-12882 , check a safety hazardCAD ID: 21-012882|
|Case Number and Notes: 21-12877 , Follow up|

我要做的是删除'CAD'.

之前单元格中的字符

这可能吗,如果可能,怎么可能?

根据你问题的稀疏信息,我会这样解决这个问题:

import csv

with (
    open('input.csv') as input_file,
    open('output.csv', 'w', newline='') as output_file
):
    reader = csv.DictReader(input_file)
    data = []
    for row in reader:
        row['description'] = 'CAD' + row['description'].split('CAD')[-1]
        data.append(row)

    writer = csv.DictWriter(output_file, fieldnames=data[0].keys())
    writer.writeheader()
    writer.writerows(data)

newline='' 似乎需要 Windows 以避免输出文件中出现双换行符。如果您不使用 Windows,您可能需要删除该关键字参数,以便在输出文件中包含正确的换行符。


编辑:

根据您提供的新信息,您可能希望循环更接近于:

for row in reader:
    if 'CAD' in row['description']:
        row['description'] = 'CAD' + row['description'].split('CAD')[-1]
    else:
        row['description'] = ''
    data.append(row)

这样,没有 CAD ID 的行将被完全清除。