【问题标题】:Storing DataFrame output utilizing Pandas to either csv or MySql DB利用 Pandas 将 DataFrame 输出存储到 csv 或 MySql DB
【发布时间】:2021-01-14 21:19:53
【问题描述】:

关于熊猫的问题:

假设我创建了一个数据框并在单独的变量下生成了输出,而不是打印它们,我将如何将它们正确组合回另一个数据框以作为 CSV 发送然后上传到数据库或直接上传到数据库?

在代码方面一切正常,我只是还没有真正看到或知道执行此操作的最佳实践。我知道我们可以将东西存储在列表、字典等中

我所做的是:

#imported all modules

object = df.iloc[0,0]

#For loop magic goes here
#nested for loop

#if conditions are met, do this
result = df.iloc[i, k+1]


print(object, result)

我还尝试将它们存储到单独的 DataFrame 中:

df2 = pd.DataFrame({'object': object, 'result' : result}, index=[0])
df2.to_csv('output.csv', index=False, mode='a')

唯一的问题是它将所有内容附加到每一行,最有可能对附加进行,并且可能不将其包含在 for 循环中。这很奇怪,因为原始输出正是我试图将其放入 csv 或数据库的方式

尽管如此,希望将这两个值组合回数据帧以提高速度。我尝试了 concat 等,但没有运气,所以我想知道正确的格式是什么?谢谢

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    事实证明,经过更多的研究和修改,我解决了我的问题

    参考了这个和个人的修改,这是我做的基础:

    Empty space in between rows after using writer in python

    import csv
    
    /* Had to wrap in a for loop that is not listed and append to file while clearing it first to remove spaces in each row*/
    with open('csvexample.csv', wb+, newline='') as file:
        reader = csv.reader(file)
        for row in reader:
            print(row)
    

    其他支持材料:

    Confused by python file mode "w+"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-25
      • 1970-01-01
      • 2013-06-12
      • 2019-07-14
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多