在Python中删除 CSV 列
逗号分隔值 (CSV)文件是一个分隔的文本文件,它使用逗号表示各个值。文件的每一行都是一个 CSV 格式的数据记录。这种格式用于表格数据、行和列,就像电子表格一样。 CSV 文件按行存储数据,每行中的值用逗号(分隔符)分隔,也称为分隔符。
有两种方法可以在Python中从 CSV 中完全删除列。现在让我们专注于技术:
- 使用 pandas 库——drop() 或 pop()
- 没有熊猫图书馆
在这里,使用了一个简单的 CSV 文件,即;输入文件id day month year item_quantity Name 1 12 3 2020 12 Oliver 2 13 3 2020 45 Henry 3 14 3 2020 8 Benjamin 4 15 3 2020 23 John 5 16 3 2020 31 Camili 6 17 3 2020 40 Rheana 7 18 3 2020 55 Joseph 8 19 3 2020 13 Raj 9 20 3 2020 29 Elias 10 21 3 2020 19 Emily
方法一:使用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')
- 导入熊猫
- 读取 CSV 文件
- 使用 drop()函数从 CSV 文件中删除或删除行或列
- 打印数据
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 中删除列。
- 导入熊猫
- 读取 CSV 文件
- 使用 pop()函数从 CSV 文件中删除或删除行或列
- 打印数据
蟒蛇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 读写
- 打开输入 CSV 文件作为源
- 读取源 CSV 文件
- 结果打开输出CSV文件
- 使用索引将源 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]))
输出: