CSV复制Pandas

2024-10-04 03:28:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这个话题已经被广泛的讨论过了,但是我不能得到我想要的,很抱歉这个可能是新手的问题。所以问题是我有一个这样的CSV:

Date,"Tmax","Tmin","Tmedia","Rachas","Vmax","LT","L1","L2","L3","L4"
23 nov 2018,"14.0 (15:30)","7.3 (23:59)","10.7","12 (14:50)","5 (14:50)","2.0","1.6","0.4","0.0","0.0"

我每天都会得到一个新的CSV,有多行,但我只对标题后第一行的感兴趣。我想做的是每天重复地将第一行复制到一个新的CSV中,所以在周末,这个CSV应该有7行。另外,我想检查一下这个日期是否已经存在于每日文件中。问题是我没有正确使用新的CSV,我尝试一下:

^{pr2}$

这个代码的问题是它覆盖了文件输出.csv每次。然后我考虑把它改成:

writer=df[df.index.isin([0])]
pd.read_csv('output.csv').append(writer).to_csv('output.csv',header=None)

现在的问题是,它确实需要文件以前存在;即使这样,信息也没有正确地复制到新文件中。我想肯定比这简单,但我被卡住了。谢谢你的帮助。在


Tags: 文件csvltdfoutputdatewriter话题
1条回答
网友
1楼 · 发布于 2024-10-04 03:28:47

如果只希望第一行在头之后,读取头并使用nrows=1。然后在append模式下使用open将一行数据帧写入csv文件的末尾。header=False参数很好地处理了写入时排除头的问题。在

df = pd.read_csv('file.csv', nrows=1)

with open('output.csv', 'a') as fout:
    df.to_csv(fout, header=False)

我省略了skiprows=4,因为不清楚这与输入数据的关系。在

相关问题 更多 >