删除python文本文件中的列

删除python文本文件中的列,python,parsing,text,Python,Parsing,Text,我有以下文本文件,并希望从文件中完全删除(打开、高、低)。我想留下:日期,时间,结束,上,下 以下是示例文本文件: "Date","Time","Open","High","Low","Close","Up","Down" 08/09/2018,17:00:00,2852.50,2852.50,2852.50,2852.50,109,0 08/09/2018,17:00:00,2852.25,2852.25,2852.25,2852.25,0,1 08/09/2018,17:00:00,2852

我有以下文本文件,并希望从文件中完全删除(打开、高、低)。我想留下:日期,时间,结束,上,下

以下是示例文本文件:

"Date","Time","Open","High","Low","Close","Up","Down"
08/09/2018,17:00:00,2852.50,2852.50,2852.50,2852.50,109,0
08/09/2018,17:00:00,2852.25,2852.25,2852.25,2852.25,0,1
08/09/2018,17:00:00,2852.25,2852.25,2852.25,2852.25,0,2
08/09/2018,17:00:00,2852.50,2852.50,2852.50,2852.50,1,0
08/09/2018,17:00:00,2852.50,2852.50,2852.50,2852.50,1,0
08/09/2018,17:00:00,2852.50,2852.50,2852.50,2852.50,1,0
08/09/2018,17:00:00,2852.50,2852.50,2852.50,2852.50,2,0
08/09/2018,17:00:00,2852.50,2852.50,2852.50,2852.50,1,0
08/09/2018,17:00:00,2852.25,2852.25,2852.25,2852.25,0,2
08/09/2018,17:00:00,2852.25,2852.25,2852.25,2852.25,0,5
08/09/2018,17:00:00,2852.25,2852.25,2852.25,2852.25,0,1
08/09/2018,17:00:00,2852.50,2852.50,2852.50,2852.50,3,0
08/09/2018,17:00:00,2852.50,2852.50,2852.50,2852.50,1,0
08/09/2018,17:00:00,2852.50,2852.50,2852.50,2852.50,3,0
08/09/2018,17:00:00,2852.75,2852.75,2852.75,2852.75,3,0
08/09/2018,17:00:00,2852.25,2852.25,2852.25,2852.25,0,1
08/09/2018,17:00:00,2852.75,2852.75,2852.75,2852.75,7,0
08/09/2018,17:00:00,2852.75,2852.75,2852.75,2852.75,4,0
08/09/2018,17:00:00,2852.75,2852.75,2852.75,2852.75,1,0
08/09/2018,17:00:00,2852.75,2852.75,2852.75,2852.75,12,0
08/09/2018,17:00:00,2852.75,2852.75,2852.75,2852.75,2,0
08/09/2018,17:00:00,2852.75,2852.75,2852.75,2852.75,2,0
08/09/2018,17:00:00,2852.75,2852.75,2852.75,2852.75,1,0

虽然这可能不是最好的方法,但我建议使用pandas库将这样的文本文件读入数据框。(如果您想对这些数据执行实际的数据分析操作,像Pandas这样的东西最适合您,而不是简单的文件io读取/拆分。)创建数据帧(查看Pandas的文档)后,使用Pandas drop命令

就你的情况而言,应该是这样的:

#import pandas as pd
#Following creation of Pandas dataframe df
df = df.drop(["Open", "High", "Low"], axis = 1)

确保在进行更改后重新分配数据帧。我将把它作为一个练习留给您参考文档并实际导入数据帧。仔细看一看熊猫,你应该会明白的

当我阅读像这样的文件时,使用像Pandas这样的库是我通常的选择

import pandas as pd
df = pd.read_csv("sample_text_file.txt")
df_new = df[['Date', 'Time', 'Close', 'Up', 'Down']]
df_new.to_csv('sample_text_file_new.txt', header=True, index=None)

到目前为止你试过什么?你能给我一份礼物吗?另请参见:提示,
split('\n')
首先,然后
split(',')
创建一个新的临时文件。使用
csv.reader
逐行读取原始文件。或者像上面的评论中提到的那样拆分行。每行的值将是一个元组
(col1,col2,…)
。然后只需对行进行索引以选择所需的列,然后将这些新行写入临时文件。完成后,您可以复制临时文件以覆盖旧文件…或者再次从临时文件迭代写入旧文件。stdlib包含一个非常合适的
csv
模块,而无需调用重量级外部包。这很有效。非常感谢。(1) 确保已安装pandas(有关padas的更多信息,请参见此处:)。(2) 这段代码打开了现有文件,删除了需要删除的字段,并创建了一个新文件。