自动将数据框附加到 CSV 文件

Append dataframe to CSV file automatically

我有一个脚本可以获取一系列推文并将它们转换为数据框。我想使用 cron 每 2 小时执行一次 运行,并将结果附加到一个 CSV 文件中。但是,我在附加部分遇到了麻烦。这是我用来尝试的代码:

import csv   
df
with open(r'name of csv', 'a') as f:
    writer = csv.writer(f)
    writer.writerow(df)

仅附加数据框的第一行。有谁知道如何解决这个问题?

编辑:谢谢大家我解决了怎么做!

这是我的代码:

df.to_csv('name', mode = 'a', header = False)

如果您的 df 对象存储了多个数据帧,我认为您需要使用 writer.writerows(df) 而不是 writer.writerow(df)。请参考这个link。因此,更改您的代码如下应该对您有所帮助:

import csv   
df
with open(r'name of csv', 'a') as f:
    writer = csv.writer(f)
    writer.writerows(df)

您可以让 pandas 附加到您的 CSV。

from io import StringIO
import pandas as pd

# create our CSV file
path = 'abc.csv'
old_data = '''\
a,b,c
1.1,1.2,1.5
2.1,2.2,2.5
'''
b = StringIO(old_data)
df = pd.read_csv(b)
df.to_csv(path, index=False)

# get a DataFrame
d = {
    'a': [0.9, 1.9, 2.9, 3.9],
    'b': [0.1, 1.2, 2.3, 3.4],
    'c': [10, 11, 12, 13],
}
df = pd.DataFrame(d)

# append DataFrame to our CSV file
with open(path, 'a') as f:
    # skip headers
    df.to_csv(f, index=False, header=False)

# show results
df = pd.read_csv(path)
print(df)

您使用了writerow方法。那需要循环。

另外,既然你有一个数据框,你应该更喜欢它的 to_csv 方法