gpt4 book ai didi

python-3.x - 从python3中的csv文件中删除特定列

转载 作者:行者123 更新时间:2023-12-05 01:44:03 25 4
gpt4 key购买 nike

需要删除多个csv文件的某些特定列和行(按索引),而不创建新文件。

对于下面的代码,它在每行之后给出新的空白行的输出。

import csv

with open('file.csv') as fd:
reader = csv.reader(fd)
valid_rows = [row for idx, row in enumerate(reader) if idx != 0]

with open('file.csv', 'w') as out:
csv.writer(out).writerows(valid_rows)

执行此操作的更简单方法是什么(可能是通过其他 python 库)?

最佳答案

既然你不希望生成任何新的csv文件并且希望数据执行操作,我建议你使用Pandas Framework .利用drop在此框架中发挥作用。

考虑以下示例:

示例.csv:

col1,col2,col3,col4
1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,16
17,18,19,20

代码:

import pandas as pd
df = pd.read_csv('./Sample.csv')

删除列:

df.drop('col3', axis = 1, inplace = True)

df 内容:

   col1     col2    col4
0 1 2 4
1 5 6 8
2 9 10 12
3 13 14 16
4 17 18 20

删除行:

df.drop(df.index[[1,4]], inplace = True)

df 内容:

   col1     col2    col4
0 1 2 4
2 9 10 12
3 13 14 16

最后保存编辑好的csv文件:

df.to_csv('new_sample.csv', index = False)

关于python-3.x - 从python3中的csv文件中删除特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47465791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com