import pandas as pd
df = pd.read_csv('coords.csv',sep=',',header=1)
在这种情况下,在其第一列中包含单词“class”的标题行在下面重复了几行,而我需要的是让 csv 档案的第一行仅包含第一列中包含单词“class”列,其余洗掉它们。当我的意思是洗掉它们时,我并不是说它们被留空,因为这会影响资料,而是简单地洗掉它们
uj5u.com热心网友回复:
这是一个过滤掉这些行的小脚本。它不会将整个档案加载到存储器中,而是对每一行进行读写,除了以“类”开头的行:
import csv
with open('coords_filtered.csv', 'w', newline='') as out_f:
writer = csv.writer(out_f)
with open('coords.csv', newline='') as in_f:
reader = csv.reader(in_f)
# Transfer header
writer.writerow(next(reader))
for row in reader:
if row[0] == 'class':
continue # skip row / don't write
writer.writerow(row)
uj5u.com热心网友回复:
如果我理解正确,您需要清除资料中出现的所有重复标题。如果是这种情况并且档案不是那么大,您可以在 read_csv 使用之后过滤资料帧
import pandas as pd
df = pd.read_csv('coords.csv',sep=',',header=0)
df = df[df['class'] != 'class']
编辑:要使其正常作业,您必须将索引为 0 的第一行视为标题,以便可以过滤资料帧
0 评论