您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Python批量编辑csv文件

5b51 2022/1/14 8:20:38 python 字数 1891 阅读 453 来源 www.jb51.cc/python

我需要编辑几个csv文件.实际上,大多数文件都是正常的,它只是需要更改的最后一个(第41个)列.对于该列中特定字符串的每次出现,我需要将其替换为不同的字符串;具体而言,每次出现'S-D'都需要用'S'代替.我试图用Python完成这个,但我想我需要编写csv文件,我不太清楚如何做到这一点:import os import csv path=os.get

概述

我需要编辑几个csv文件.实际上,大多数文件都是正常的,它只是需要更改的最后一个(第41个)列.对于该列中特定字符串的每次出现,我需要将其替换为不同的字符串;具体而言,每次出现’S-D’都需要用’S’代替.我试图用Python完成这个,但我想我需要编写csv文件,我不太清楚如何做到这一点:

import os 
import csv


path=os.getcwd()

filenames = os.listdir(path)

for filename in filenames:

    if filename.endswith('.csv'):
        r=csv.reader(open(filename))

        for row in r:
            if row[40] == "S-D":
                row[40] = "S"

有帮助吗?此外,如果有人用shell脚本快速,优雅地做到这一点,那对我来说也许会非常有帮助.

import os 
import csv


path=os.getcwd()

filenames = os.listdir(path)

for filename in filenames:

    if filename.endswith('.csv'):
        r=csv.reader(open(filename))
        new_data = []
        for row in r:
            row[-1] = row[-1].replace("S-D","S")
            new_data.append(row)

        newfilename = "".join(filename.split(".csv")) + "_edited.csv"
        with open(newfilename,"w") as f:
            writer = csv.writer(f)
            writer.writerows(new_data)

总结

以上是编程之家为你收集整理的使用Python批量编辑csv文件全部内容,希望文章能够帮你解决使用Python批量编辑csv文件所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶