我尝试了多种方法来使用read_csv
在csv中删除多个列,然后保存新的csv(删除列),但它们都不起作用。这是我的最新消息:
import pandas as pd
df = pd.read_csv('TradedInstrument_20230331_real.csv', sep='t', encoding='unicode_escape')
df.drop(columns='stopTrdgAllowedInOpnFlag')
df.drop(columns='stopTrdgsAllowableInTrdg')
df.drop(columns='preTradeBlockThresholdChf')
df.drop(columns='billingSegmentCode')
df.drop(columns='preTradeBlockThresholdChf')
df.drop(columns='billingSegmentDesc').to_csv('output.csv', index=False)
这只删除billingSegmentDesc
。
BigBen在评论中给出了答案,但就像他们说的,df.drop
不是一个inplace函数。你需要做的是df = df.drop(columns=colname)
或df.drop(columns=colname, inplace=True
.
话虽这么说,你也可以通过包括一个列表来一次删除许多。
cols_to_drop = ['colname1, colname2']
df = df.drop(columns=cols_to_drop)