如何修剪csv文件中的前导空格和尾随空格?

2024-06-10 07:57:07 发布

您现在位置:Python中文网/ 问答频道 /正文

想删除csv文件中的前导空格和尾随空格吗

24333,   116,    47,MCD,00000000000000000017996,   112
24333,   116,    47,MCD,00000000000000610036485,   112  
24333,   116,    47,MCD,00000000000000610036485,   112

有人能帮我写我试过的代码吗

import csv

csvfile= open('strip.csv','r')
csvfile1= open('strip11.csv','w') 
stripped = (row.strip() for row in csvfile)
reader = csv.reader(stripped,delimiter=' ')
writer= csv.writer(csvfile1)
for row in reader:
   writer.writerow(row)

Tags: 文件csvcsvfileinforopenreaderwriter
1条回答
网友
1楼 · 发布于 2024-06-10 07:57:07

神奇之处在于对每行记录中的每个项目应用strip

剥离字符串通常类似于" abc ".strip。要引用strip方法而不使用实际字符串,可以import string然后使用string.strip

map(string.strip, list_of_strings_to_strip)strip应用于记录中的每个项,并在列表中返回它们

>>> import string
>>> rec = ["  a  ", "  b  ", "  c  "]
>>> map(string.strip, rec)
["a", "b", "c"]

您的数据的完整工作示例:

import csv
import string

with open("data.csv") as f:
    reader = csv.reader(f, delimiter=",")
    with open("stripped.csv", "w") as fo:
        writer = csv.writer(fo)
        for rec in reader:
            writer.writerow(map(string.strip, rec))

with open(...是所谓的上下文管理器,确保创建的文件描述符将被关闭,而不管内部块执行期间可能出现的故障

生成的文件如下所示:

24333,116,47,MCD,00000000000000000017996,112
24333,116,47,MCD,00000000000000610036485,112
24333,116,47,MCD,00000000000000610036485,112

相关问题 更多 >