gpt4 book ai didi

python - Pandas Dataframe 一次追加一行到 CSV

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:11 25 4
gpt4 key购买 nike

我正在尝试将 pandas 数据帧发送到 csv 文件中

import pandas as pd
import os

case_array = [['2017042724', '05/18/2017'], ['2017042723', '05/18/2017'], ['2017042722', '05/18/2017'], ['2017042721', '05/18/2017']]

filename = 'case_array.csv'
path = "C:\shares\folder"
fullpath = os.path.join(path, filename)

for case_row in case_array:
df = pd.DataFrame(case_row)
try:
with open(fullpath, 'w+') as f:
df.to_csv(f, header=False)
print('Success')
except:
print('Unable to Write CSV')

try:
df = pd.read_csv(fullpath)
print(df)
except:
print('Unable to Read CSV')

但它会将每一行作为一列插入,插入一个标题列(设置为 False)并覆盖之前的插入:

0  2017042721
1 05/18/2017

如果我插入整个数组,它将插入没有标题行的行。 (这是我想要的正确结果)问题是我编写的脚本我需要一次插入每一行。

如何让 pandas dataframe 插入行而不是列?

编辑1

像这样:

 0            1
2017042721 05/18/2017
2017042723 05/18/2017

最佳答案

您不必遍历数组即可执行此操作。您可以从数组中创建一个数据框,并使用 to_csv() 将其写入 csv。 .

case_array = [['2017042724', '05/18/2017'], ['2017042723', '05/18/2017'], ['2017042722', '05/18/2017'], ['2017042721', '05/18/2017']]

df=pd.DataFrame(case_array)
df.to_csv(fullpath, header=False)

编辑

如果您必须遍历下面代码中的数组:

for case_row in case_array:
df = pd.DataFrame(case_row).T
try:
with open(fullpath, 'a') as f:
df.to_csv(f, header=False, index=False)
print('Success')
except:
print('Unable to Write CSV')

关于python - Pandas Dataframe 一次追加一行到 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50415407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com