从现有文件中选择数据

时间:2019-04-10 06:31:53

标签: python

我有一个制表符分隔文件,该文件具有以下顺序的数据(大约2400行)-


| SNO | Model#|Agent Name  | cost | MRP |    date    | Discount |
|---------------------------------------------------------------|
|   1 | 1112B | Chris      |  689 | 998 | 01/01/2014 | 5%       |

我想

(1)取出名称和相应的MRP并将其存储到新文件中

预期结果应为以下内容(存储在新的excel文件或制表符分隔的文本文件中)


| AgentName | MRP  |
|-----------|------|
| Chris     |  988 |
| A         |  111 |
| B         | 222  |
| C         |  333 |
| D         |  444 |


我开始执行以下操作,但无法完成-

with open ('/path.txt') as f:
    for l in f:
        print l.strip().split("\t")

2 个答案:

答案 0 :(得分:1)

如果该文件以csv格式提供,那么您可以使用熊猫:

import pandas as pd
df = read_csv('/path to file.csv', sep='\t')
slice = df[['AgentName','MRP']] 
slice.to_csv('new_file.csv', index=False)

答案 1 :(得分:1)

仅使用标准库csv module

import csv
with open ('Project1.txt', 'rU') as from_fp, open('output.tsv', 'w') as to_fp:
    csv_reader = csv.DictReader(from_fp, dialect=csv.excel_tab)
    csv_writer = csv.writer(to_fp, delimiter='\t')
    csv_writer.writerow(['AgentName', 'MRP'])
    for row in csv_reader:
        csv_writer.writerow([row.get('AgentName'), row.get('MRP')])

链接到demo