使用 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 的行将被完全清除。
我有一个包含描述列的 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 的行将被完全清除。