我的方案。

我有一个文件夹 Users/kbao/Desktop/dailyfiles/ ,我把自动生成的csv文件放在那里。每天都有一个文件被添加到这个文件夹中,并以日期作为其名称。

22-01-2020.csv
23-01-2020.csv
24-01-2020.csv

每个文件都有完全相同的列(ID、产品名称、订单、数量)。

id    product name    orders    quantity 
1       guitar           1         4
2       drums            4         7
3      ukulele          13         29

我的目标是添加一个名为 "日期 "的列作为最后一列,并为文件夹Users/kbao/Desktop/dailyfiles/中的每个文件的每一行填入数值。

Would it be possible to do such thing with one python script?

Desired output

22-01-2020.csv:

id    product name    orders    quantity     date
1       guitar           1         4       22-01-2020
2       drums            4         7       22-01-2020
3      ukulele          13         29      22-01-2020

23-01-2020.csv

id    product name    orders    quantity     date
1       case             4         4       23-01-2020
2      keyboard          6         8       23-01-2020
3       piano            3         5       23-01-2020

24-01-2020.csv:

 id    product name    orders    quantity     date
 1       violin           12        24       24-01-2020
 2      strings           40        43       24-01-2020
 3      drum pad          7         13       24-01-2020
    
4 个评论
AMC
Would it be possible to do such thing with one python script? Yes.
听起来你基本上是想把文件名的一部分添加到文件中的数据上。这就需要在读取文件的同时写一个替换文件,然后用新文件替换原来的文件。我建议你尝试实现这一点,并then如果你不能让它正常工作,请提问。标准库中的csv模块会让你的工作相对容易。
我向AMC和@martineau道歉。我想补充的是,我刚刚迈出了使用python的第一步,对如何开始没有什么概念,但这部分内容被意外地从我的帖子中删除了。所以我正在玩一些简单的脚本,并试图一个接一个地启动它们,以便玩一些假数据。下次我一定要在我的问题中加入一些代码,但请注意,我花了几个小时运行脚本并收到错误。通过实践学习 :)
Baobab1988: 这就是为什么我在之前的评论中试图给你一些线索。
python
csv
Baobab1988
Baobab1988
发布于 2020-01-25
1 个回答
YOLO
YOLO
发布于 2020-01-25
已采纳
0 人赞同

这里有一个你可以做的方法。

from pathlib import Path
# set path
csv_paths = Path('csv_files/')
# create new date column and save again
for file in csv_paths.glob('**/*.csv'):
    f = pd.read_csv(file)
    f = f.assign(date = file.stem)