大家好,我正在写一个函数来联系几个csv文件成一个。然后将其保存为主封面文件,最后我想加载df,但当我调用该函数并尝试调用df时,它被称为none类型。下面是我使用的:
def create_excel():
import pandas as pd
import os
import numpy as np
import glob
from datetime import date , timedelta
yesterday=date.today() - timedelta(1)
file_name=yesterday.strftime("%Y-%m-%d")
file=file_name+'.csv'
path=input('Enter path :')
csv=sorted(glob.glob(os.path.join(path,'*.csv')))
df_from_csv=(pd.read_csv(f,error_bad_lines=False)for f in csv)
login_history=pd.concat(df_from_csv,ignore_index=True)
return login_history.to_csv(file)
return login_history
create_excel()
你知道我做错了什么吗?
试试下面的代码:
import pandas as pd
import os
import numpy as np
import glob
from datetime import date , timedelta
def create_excel():
yesterday=date.today() - timedelta(1)
file_name=yesterday.strftime("%Y-%m-%d")
file=file_name+'.csv'
path=input('Enter path :')
csv=sorted(glob.glob(os.path.join(path,'*.csv')))
df_from_csv=(pd.read_csv(f,error_bad_lines=False)for f in csv)
login_history=pd.append(df_from_csv,ignore_index=True)
login_history.to_csv(file)
return login_history
create_excel()
我:
- 将导入移出def
- to_csv不应该带有return
- 更改concat以附加
您有2个返回语句。函数总是在到达return语句后停止。没有返回,因为:login_history.to_csv(file)
写入文件,但根本没有返回任何东西->None
。由于您使用了return,因此您自己的函数将返回None
并停止该函数。
因此修复非常简单:
def create_excel():
# your code [...]
login_history.to_csv(file)
return login_history
login_history = create_excel()