从数据库读取数据后,我想返回数据并将其写入csv文件。如何使用多处理来做到这一点?
def get_data():
data = get_data_from_database() #a dataframe
data.to_csv('data.csv', index=False) #step 1: write to csv file
return data #step 2: return data
如何使用多处理来执行步骤1和步骤2?
答案 0 :(得分:1)
试试这个;
def get_data():
data = []
data = get_data_from_database() #a dataframe
if len(data) >0:
for i in range (len(data)):
data[i].to_csv('data.csv', index=False) #step 1: write to csv file
return data #step 2: return data
答案 1 :(得分:1)
你的意思是多线程?如果是,那么如果你想在其他地方写入文件,你应该使用锁,这可能会成为代码中的痛苦!
但如果你不担心,你可以做这样的事情
import threading
def thread_write(data):
data.to_csv('data.csv', index=False) # step 1: write to csv file
def get_data():
data = get_data_from_database() #a dataframe
t = threading.Thread(target=thread_write, args=(data,)) #pass your function as target of thread, and it's input variables as a tuple to args
t.start()
return data # step 2: return data