Pandas:将.xlsx文件转换为.csv会产生一个zip文件

时间:2016-07-13 15:59:32

标签: python excel csv pandas

我正在使用pandas将.xlsx文件转换为.csv。问题是我运行程序的任何时候生成的文件变成zip文件而不是csv文件。 这是我的代码:

 def exl2csv(x,y):
    exlfilename = str(x)
    exlsheetname = str(y)
    workbook = xlrd.open_workbook(exlfilename)
    worksheet = workbook.sheet_by_name(exlsheetname)
    csvfileloc = os.path.join('uploads', 'frmxl2csv-' + get_random_id())
    dataframe = pd.DataFrame(worksheet)
    dataframe.to_csv(csvfileloc, sep='\t', encoding='utf-8')
    return csvfileloc

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果您愿意,可以使用熊猫来完成整个事情。

pandas.read_excel()将允许您指定要阅读的工作表,以便执行以下操作:

def exl2csv(x,y):
    exlfilename = str(x)
    exlsheetname = str(y)
    df = pandas.read_excel(exlfilename, exlsheetname)
    csvfileloc = os.path.join('uploads', 'frmxl2csv-' + get_random_id()+'.csv')
    df.to_csv(csvfileloc, sep='\t', encoding='utf-8')
    return csvfileloc

确保在csv。

的文件名末尾传递“.csv”