<p>我有一个csv文件,其中包含一些none值,我希望删除那些包含所有none值的列</p>
<pre><code>Name class marks1 marks2
A 10th 67 55
B 10th None None
C 10th 43 None
</code></pre>
<p>在上表中,我需要删除B,因为所有标记都是none,并使用剩余的学生创建一个新表。我需要一个更新的csv文件</p>
<pre><code>Name class marks1 marks2
A 10th 67 55
C 10th 43 None
</code></pre>
<p>我试过这个:</p>
<pre><code>import csv
lines = list()
with open('f_name', 'r') as readFile:
reader = csv.reader(readFile)
for row in reader:
lines.append(row)
#print(row[4:])
if row[2:] == 'None':
print(row)
with open(f_name, 'w') as writeFile:
writer = csv.writer(writeFile)
writer.writerows(lines)
</code></pre>
<p>您可以筛选标记1和标记2均不为空的行</p>
<pre><code>import pandas as pd
df1=pd.read_csv('f_name')
df2=df1[~(pd.isnull(df1.marks1) & pd.isnull(df1.marks2))]
</code></pre>