在cs中编辑一段数据

2024-05-06 08:06:17 发布

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

我有一个像这样的csv文件

34512340,1
12395675,30
56756777,30
90673412,45
12568673,25
22593672,25

我希望能够编辑python中逗号之后的数据,然后保存csv

有人知道我怎么做吗? 下面的这段代码将写一行新行,但不会编辑:

f = open("stockcontrol","a")
f.write(code)

Tags: 文件csv数据代码编辑codeopenwrite
2条回答

可以使用python pandas编辑所需的列,例如,将列数增加n

import pandas
data_df = pandas.read_csv('input.csv')
data_df = data_df['column2'].apply(lambda x: x+n)
print data_df

用于添加1n替换为1

下面是一个示例,在第二列中添加1:

import csv

with open('data.csv') as infile, open('output.csv', 'wb') as outfile:
    reader = csv.reader(infile)
    writer = csv.writer(outfile)
    for row in reader:
        # Transform the second column, which is row[1]
        row[1] = int(row[1]) + 1
        writer.writerow(row)

注意事项

  • csv模块正确解析强烈建议使用的CSV文件
  • 默认情况下,每一行都将被解析为文本,这就是为什么我转换成整数:int(row[1])

更新

如果确实要“就地”编辑文件,请使用fileinput模块:

import fileinput

for line in fileinput.input('data.csv', inplace=True):
    fields = line.strip().split(',')
    fields[1] = str(int(fields[1]) + 1)  # "Update" second column
    line = ','.join(fields)
    print line  # Write the line back to the file, in place

相关问题 更多 >