【问题标题】:CSV file data replacementCSV 文件数据替换
【发布时间】:2021-12-27 15:09:01
【问题描述】:

我有很多 .csv 文件,看起来像

header01,header02,header03,
data01,data02,data03,
data11,data12,data13,
data21,data22,data23,
data31,data32,data33,

我需要一个简短的函数,我可以将数据部分中的 [1] 单元格从 data02 覆盖为类似 test_data02 的内容。 我需要用这种方法替换大量csv文件中的单元格,也许我可以读取文件中的行并将其另存为新的,所以我知道它肯定完成了。

【问题讨论】:

    标签: python python-3.x csv


    【解决方案1】:

    您可以使用 pandas 库来处理 csv,这非常简单。

    所以你打开你的 csv :

    df = pandas.read_csv('your_file.csv')
    

    通过以下方式获取您的单元格值:

    value = df.iloc[i]['header02']
    

    i 是您的行号

    然后您可以使用此命令更改任何单元格:

    df.set_value(i, 'header02', 'test_' + value)
    

    你的第一个参数是行号,第二个是列名,第三个是替换值

    【讨论】:

    • 谢谢,这对我有用
    【解决方案2】:
    data =[]
    path = 'test.csv'
    
    with open (path,'r') as csvfiler:
        for i, line in enumerate(csvfiler):
            if i != 0:
                i-=1
                line = line.split('\n')[0].split(',')
                line[1]="test_data"+str(i)+"2"
                line=','.join(line)
                line+="\n"
            data.append(line)
    
    with open (path,'w') as csvfilew:
        for line in data:
            csvfilew.write(line)
    

    【讨论】:

    • 谢谢,这非常适合我
    猜你喜欢
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    相关资源
    最近更新 更多