首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法将今天的日期和'file-2‘添加到csv中的每一行?

有没有办法将今天的日期和'file-2‘添加到csv中的每一行?
EN

Stack Overflow用户
提问于 2021-07-22 16:46:14
回答 2查看 37关注 0票数 0

我有一个没有标题的csv文件

代码语言:javascript
复制
1,0,1,a
2,1,2,b
3,4,5,c

如何将其转换为每行包含今天日期和文件的格式?

代码语言:javascript
复制
1,0,1,a,2021-07-22,file2
2,1,2,b,2021-07-22,file2
3,4,5,c,2021-07-22,file2

这有可能做到吗?当我尝试使用csvwriter时,我只能附加到end。

代码语言:javascript
复制
with open("temp_csv.csv","a") as fout:
    writer = csv.writer(','+date+',file2\n')
    print(writer)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-22 17:00:53

如果你需要使用CSV模块,那么这是可行的。

你的问题是你试图就地操纵csv。相反,您应该读取每一行,处理该行,然后将其写入新的输出csv文件。

代码语言:javascript
复制
import csv
from datetime import datetime

todays_date = datetime.today().strftime('%Y-%m-%d')

with open("in.csv","r") as fin, open("out.csv", 'w', newline='') as fout:
    reader = csv.reader(fin)
    writer = csv.writer(fout)
    for line in reader:
        line.append(todays_date)
        line.append("file2")
        writer.writerow(line)
票数 2
EN

Stack Overflow用户

发布于 2021-07-22 16:59:32

为此,我推荐使用pandas库。

首先,使用pandas将您的文件作为dataframe df加载:

代码语言:javascript
复制
import pandas as pd

df = pd.read_csv('temp_csv.csv', header=None, index_col=0)

然后添加所需的列

代码语言:javascript
复制
df['date'] = ['2021-07-22' for i in range(len(df))]
df['file'] = ['file2' for i in range(len(df))]

最后,保存您的csv

代码语言:javascript
复制
df.to_csv('temp_csv.csv', header=False)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68481819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档