从python中的CSV文件中删除列

问题描述

我正在尝试从Python3中的csv文件中删除重复的列。我能够使代码正常运行...但是,当我尝试打印已处理的行数时,我在codio中收到空白响应。

对运行的响应返回为1001codio @ sigma-portal:〜/ workspace $

谁能指出我该如何解决?理想情况下,我希望它打印出删除了多少列。

import csv
import re
data = []

import csv

input_file = 'customerdata.csv'
output_file = 'outputcustomerdata.csv'
cols_to_remove = [11] # Column indexes to be removed (starts at 0)

cols_to_remove = sorted(cols_to_remove,reverse=True) # Reverse so we remove from the end first
row_count = 0 # Current amount of rows processed

with open(input_file,"r") as source:
   reader = csv.reader(source)
   with open(output_file,"wt") as result:
       writer = csv.writer(result)
       for row in reader:
           row_count += 1
           print('\r{0}'.format(row_count),end='') # Print rows processed
           for col_index in cols_to_remove:
               del row[col_index]
           writer.writerow(row)

解决方法

尝试熊猫

import pandas as pd
df = pd.read_csv('customerdata.csv')
df = df.drop('column_name',axis=1)

# save your file
df.to_csv('outputcustomerdata.csv',encoding='utf-8')

print(df)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...