我将从不同的excel文件中提取的数据保存到CSV文件中,这是代码:
import pandas as pd
def save_frames(frames, output_path):
pd.DataFrame( data_mosul_df).to_csv
output_path= r'C:\Users\Sarah\Desktop\tt'
for frame in frames:
frame.to_csv(output_path, mode='a', header=False)
if __name__ == '__main__':
frames = []
save_frames(frames, r'C:\Users\Sarah\Desktop\tt\datam.csv')
问题是代码正在运行,但是未创建CSV文件,有人知道如何解决此问题?谢谢
frames = []
所以for循环永远不会执行,因此不会创建文件。
C:\Users\Sarah\Desktop\tt\datam.csv
如果文件(请检查文件,不仅检查foldeR)不存在,请提前创建它(附加可能无法为您创建文件)。
在您的示例框架中,是一个空列表,请确保在您的真实代码框架中正确填充了。
我添加了快速调试打印信息,以帮助您查找。以下几行对我没有100%的意义,所以我删除了它们:
pd.DataFrame( data_mosul_df).to_csv output_path= r'C:\Users\Sarah\Desktop\tt'
您能解释一下您想在这里做什么,以便我可以以更有用的方式编辑答案吗?请尝试以下代码:
import pandas as pd def save_frames(frames, output_path): print("Frames content:") print(frames) for frame in frames: frame.to_csv(output_path, mode='a', header=False) if __name__ == '__main__': frames =[pd.DataFrame(data_mosul_df).to_csv] save_frames(frames, r'C:\Users\Sarah\Desktop\tt\datam.csv')
import os
from os import walk
import pandas as pd
path = r'C:\Users\Sarah\Desktop\IOMTest'
my_files = []
for (dirpath, dirnames, filenames) in walk(path):
my_files.extend([os.path.join(dirpath, fname) for fname in filenames])
all_sheets = []
for file_name in my_files:
#Display sheets names using pandas
pd.set_option('display.width',300)
mosul_file = file_name
xl = pd.ExcelFile(mosul_file)
mosul_df = xl.parse(0, header=[1], index_col=[0,1,2])
#Read Excel and Select columns
mosul_file = pd.read_excel(file_name, sheet_name = 0 ,
index_clo=None, na_values= ['NA'], usecols = "A, E, G, H , L , M" )
#Remove NaN values
data_mosul_df = mosul_file.apply (pd.to_numeric, errors='coerce')
data_mosul_df = mosul_file.dropna()
我想将data_mosul_df
中的数据保存到一个csv文件中>