📜  在Python中删除 CSV 列

📅  最后修改于: 2022-05-13 01:54:46.244000             🧑  作者: Mango

在Python中删除 CSV 列

逗号分隔值 (CSV)文件是一个分隔的文本文件,它使用逗号表示各个值。文件的每一行都是一个 CSV 格式的数据记录。这种格式用于表格数据、行和列,就像电子表格一样。 CSV 文件按行存储数据,每行中的值用逗号(分隔符)分隔,也称为分隔符。

有两种方法可以在Python中从 CSV 中完全删除列。现在让我们专注于技术:

  1. 使用 pandas 库——drop() 或 pop()
  2. 没有熊猫图书馆

在这里,使用了一个简单的 CSV 文件,即;输入文件

iddaymonthyearitem_quantityName
1123202012Oliver
2133202045Henry
314320208Benjamin
4153202023John
5163202031Camili
6173202040Rheana
7183202055Joseph
8193202013Raj
9203202029Elias
10213202019Emily

方法一:使用pandas库

Python是一种很好的数据分析语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。 Pandas 包含一个drop函数,用于从 CSV 文件中删除行或列。 Pandas Pop()方法在大多数数据结构中都很常见,但pop()方法与其他方法略有不同。在堆栈中,pop 不需要任何参数,它每次都弹出最后一个元素。但是 pandas pop 方法可以从数据框中获取一列的输入并直接弹出。

示例 1:使用drop()

data.drop( labels=None, axis=0, index=None, columns=None, level=None, inplace=False,errors='raise')
  1. 导入熊猫
  2. 读取 CSV 文件
  3. 使用 drop()函数从 CSV 文件中删除或删除行或列
  4. 打印数据
Python3
# import pandas with shortcut 'pd'
import pandas as pd  
  
# read_csv function which is used to read the required CSV file
data = pd.read_csv('input.csv')
  
# display 
print("Original 'input.csv' CSV Data: \n")
print(data)
  
# drop function which is used in removing or deleting rows or columns from the CSV files
data.drop('year', inplace=True, axis=1)
  
# display 
print("\nCSV Data after deleting the column 'year':\n")
print(data)


Python3
# import pandas with shortcut 'pd'
import pandas as pd
  
# read_csv function which is used to read the required CSV file
data = pd.read_csv('input.csv')
  
# display
print("Original 'input.csv' CSV Data: \n")
print(data)
  
# pop function which is used in removing or deleting columns from the CSV files
data.pop('year')
  
# display
print("\nCSV Data after deleting the column 'year':\n")
print(data)


Python3
# import csv
import csv
  
# open input CSV file as source
# open output CSV file as result
with open("input.csv", "r") as source:
    reader = csv.reader(source)
      
    with open("output.csv", "w") as result:
        writer = csv.writer(result)
        for r in reader:
            
            # Use CSV Index to remove a column from CSV
            #r[3] = r['year']
            writer.writerow((r[0], r[1], r[2], r[4], r[5]))


输出:

示例 2:使用pop()

我们可以使用 panda pop() 方法通过将列命名为参数来从 CSV 中删除列。

data.pop('column-name')

  1. 导入熊猫
  2. 读取 CSV 文件
  3. 使用 pop()函数从 CSV 文件中删除或删除行或列
  4. 打印数据

蟒蛇3

# import pandas with shortcut 'pd'
import pandas as pd
  
# read_csv function which is used to read the required CSV file
data = pd.read_csv('input.csv')
  
# display
print("Original 'input.csv' CSV Data: \n")
print(data)
  
# pop function which is used in removing or deleting columns from the CSV files
data.pop('year')
  
# display
print("\nCSV Data after deleting the column 'year':\n")
print(data)

输出:

方法二:使用CSV库

示例 3:使用CSV 读写

  1. 打开输入 CSV 文件作为源
  2. 读取源 CSV 文件
  3. 结果打开输出CSV文件
  4. 使用索引将源 CSV 数据放入结果 CSV 中

蟒蛇3

# import csv
import csv
  
# open input CSV file as source
# open output CSV file as result
with open("input.csv", "r") as source:
    reader = csv.reader(source)
      
    with open("output.csv", "w") as result:
        writer = csv.writer(result)
        for r in reader:
            
            # Use CSV Index to remove a column from CSV
            #r[3] = r['year']
            writer.writerow((r[0], r[1], r[2], r[4], r[5]))

输出: