【问题标题】:How to export dataframe to csv using conditions? [closed]如何使用条件将数据框导出到 csv? [关闭]
【发布时间】:2021-04-20 15:25:28
【问题描述】:

我正在使用不同的数据集合并数据并将它们附加到一个数据集中。问题是有时数据集df_fours 是空的。为了解决这个问题,我使用了trypass 语句。

现在,当 df_fours_unique 被绕过并且我尝试以 CSV 格式导出结果时,它会给出错误:

df_append3 is not defined

我想要的是有一些条件语句(或者如果有其他东西),如果它没有任何错误,它将导出df_append3。否则它只会追加df_append2。我目前拥有的是:

df_unique = pd.merge(df7,df6_1,on='DEL_KEY1',how='left')
df_twos = pd.merge(df9,df8_1,on='DEL_KEY1',how='left')
df_twos_unique = df_twos[df_twos.index % 2 == 0]
df_threes = pd.merge(df11,df10_1,on='DEL_KEY1',how='left')
df_threes_unique = df_threes[df_threes.index % 3 == 0]
try:
    df_fours = pd.merge(df13,df12_1,on='DEL_KEY1',how='left')
    df_fours_unique = df_fours[df_fours.index % 4 == 0]
except:
    pass
df_append1 = df_unique.append(df_twos_unique)
df_append2 = df_append1.append(df_threes_unique)
try:
    df_append3 = df_append2.append(df_fours_unique)
except: 
    pass 
df_append3.to_csv('export.csv')

由于机密性,无法附加数据集。

【问题讨论】:

  • “由于机密性,无法附加数据集。” - 所以只需发布minimal reproducible example...
  • 您能否确保上面提供的代码的缩进与您实际使用的代码相匹配? Python 是一种对缩进敏感的语言,不同的缩进级别会改变脚本的解释/执行方式。
  • 无论如何,您对df_append3 的定义是在try 块内,因此如果出现错误,它将不会被定义...移动到to_csv 行以位于@987654333 中@也...
  • 首先,你应该修复你的缩进。它在python中很重要。其次,您仅在其中一个 try 语句中定义 df_append3 ,因此如果存在问题,则不会被定义。一个简单的if no error df_append3 else df_append2?

标签: python pandas dataframe csv


【解决方案1】:

我想要的是有一些条件语句(或者如果有 别的东西),如果它没有任何东西,它将导出 df_append3 错误。否则它只会追加 df_append2。

有,而且您已经在使用它了!它被称为try/except...如果没有错误(在try 内) - 添加df_append3。否则(except),追加df_append2

try:
    df_append3 = df_append2.append(df_fours_unique)
    df_append3.to_csv('export.csv')
except: 
    df_append2.to_csv('export.csv')

【讨论】:

    【解决方案2】:

    https://pandas.pydata.org/pandas-docs/version/0.18/generated/pandas.DataFrame.empty.html

    if not df_fours.empty:
        #The dataframe is not empty, we can write it
    

    同样的道理

    if not df_append3.empty:
        #can write this too...
    

    比尝试更好的方法:除了:我认为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多