【发布时间】:2013-09-02 08:01:20
【问题描述】:
我有一堆带有 4 行标题的 CSV 文件。在这些文件中,我想根据第二列中的值更改第六列中的值。例如,如果名称PRODUCT 下的第二列是Banana,我想将TIME 下同一行中的值更改为10m。如果产品是Apple,我希望时间是15m等等。
When 12:07
Area Produce
Store Name FF
Eatfresh
PN PRODUCT NUMBER INV ENT TIME
1 Banana 600000 5m
2 Apple 400000 F4 8m
3 Pair 6m
4 Banana 4000 G3 7m
5 Watermelon 700000 13m
6 Orange 12000 2m
7 Apple 1650000 6m
期望的输出
When 12:07
Area Produce
Store Name FF
Eatfresh
PN PRODUCT NUMBER INV ENT TIME
1 Banana 600000 10m
2 Apple 400000 F4 15m
3 Pair 6m
4 Banana 4000 G3 10m
5 Watermelon 700000 13m
6 Orange 12000 2m
7 Apple 1650000 15m
我想将它们全部输出到目录调用NTime。到目前为止,这是我所拥有的,但是对于编码而言,我并不是很了解,并且一直停留在如何进行实际更改上。我找到了Python/pandas idiom for if/then/else,看起来和我想做的差不多,但我不完全明白发生了什么。
import pandas as pd
import glob
import os
fns = glob.glob('*.csv')
colname1 = 'PRODUCT'
colname2 = 'TIME'
for csv in fns:
s = pd.read_csv(csv, usecols=[colname1], squeeze=True, skiprows=4, header=0)
with open(os.path.join('NTime', fn), 'wb') as f:
有人可以帮我吗?
【问题讨论】: