Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python xlsxwriter创建excel时,仅设置“格式”;采取;双击单元格后_Python_Excel_Format_Xlsxwriter - Fatal编程技术网

使用Python xlsxwriter创建excel时,仅设置“格式”;采取;双击单元格后

使用Python xlsxwriter创建excel时,仅设置“格式”;采取;双击单元格后,python,excel,format,xlsxwriter,Python,Excel,Format,Xlsxwriter,我创建了一个脚本,该脚本生成一个数据帧,我希望将其放入excel文档中。在下面的代码中,我正在设置我认为正确的参数来设置每列的格式 生成excel后,每个单元格中的格式都不正确。 只有双击单元格,格式才会正确 检查excel文档的格式显示,对于每一行,我的格式都是由代码设置的,但没有显示 提前感谢您提供的任何可能解决此问题的建议 # -*- coding: utf-8 -*- """ Created on Tue Apr 30 10:28:45 2019 @author: ny """ imp

我创建了一个脚本,该脚本生成一个数据帧,我希望将其放入excel文档中。在下面的代码中,我正在设置我认为正确的参数来设置每列的格式

生成excel后,每个单元格中的格式都不正确。 只有双击单元格,格式才会正确

检查excel文档的格式显示,对于每一行,我的格式都是由代码设置的,但没有显示

提前感谢您提供的任何可能解决此问题的建议

# -*- coding: utf-8 -*-
"""
Created on Tue Apr 30 10:28:45 2019

@author: ny
"""
import logging
import sys
import pyodbc           # Database connector
import pandas as pd     # Data frames 
import datetime         # Dates and time 
from datetime import timedelta 

import numpy as np 



test =  {'col1':['USD'],
         'col2':['USD Fed'],
         'col3':['2019-01-04 15:15:00'],
         'col4':['2019-01-04 15:24:59.999'],
         'col5':['1.13564'],
         'col6':['1.13528'],
         'col7':['1.13845'],
         'col8':['1.137'],
         'col9':['0.002474375682434556'],
         'col10':['0.0015150447466703754'],
         'col11':['-28.10'],
         'col12':['-17.20']}
testdf = pd.DataFrame(data=test)

#results = results.sort_values(by=['TimeStart'], ascending=False)
#Excel

#results = results.applymap(str)

outputString = 'test' + "MarketMovement.xlsx"
writer = pd.ExcelWriter(outputString, engine = 'xlsxwriter')



testdf.to_excel(writer, sheet_name ='Events',index = False)
resultsLn = len(testdf)
Clength = 'A1:L'+str(resultsLn+1)
workbook = writer.book
num_fmt =  workbook.add_format({'num_format': '#,##0.00000'})
day_fmt     =  workbook.add_format({'num_format': 'yyyy-mm-dd hh:mm:ss'})                                 

worksheet = writer.sheets['Events']    


worksheet.add_table(Clength, {'columns': [
  {'header': 'titleCurrency'}#a
 ,{'header': 'Event'}#a
 ,{'header': 'TimeStart'}#a
 ,{'header': 'TimeEnd'}#b
 ,{'header': 't1HighRate'}#c
 ,{'header': 't1LowRate'}#d
 ,{'header': 't10HighRate'}#e
 ,{'header': 't10LowRate'}#f
 ,{'header': 'PercentHighChange'}#g
 ,{'header': 'PercentLowChange'}#h
 ,{'header': 'changeHighPips'}#i
 ,{'header': 'changeLowPips'}#j
 ],
                                   'autofilter': True,
                                   'total_row': False,
                                   'style': 'Table Style Medium 2'})   



worksheet.set_column('A:A', 20)  
worksheet.set_column('B:B', 20)     
worksheet.set_column('C:C', 20, day_fmt)    
worksheet.set_column('D:D',20, day_fmt)
worksheet.set_column('E:E',25, num_fmt)
worksheet.set_column('F:F',25, num_fmt)
worksheet.set_column('G:G',25, num_fmt)
worksheet.set_column('H:H',25, num_fmt)
worksheet.set_column('I:I',25, num_fmt)
worksheet.set_column('J:J',25, num_fmt)
worksheet.set_column('K:K',25, num_fmt)
worksheet.set_column('L:L',25, num_fmt)

writer.save()
writer.close()   

#Clear all kernel after finished 
# import IPython
# app = IPython.Application.instance()
# app.kernel.do_shutdown(True)   


解决方案是,我需要确保数据类型完全匹配。 python需要使用正确的日期时间格式,数字需要使用数字格式。
解决方案由jmcnamara提供。

解决方案是我需要确保数据类型完全匹配。 python需要使用正确的日期时间格式,数字需要使用数字格式。
解决方案由jmcnamara提供。

如果没有完整的工作示例,就无法说明问题所在。但是,
set\u column()
的语法不正确。它接受一个列,而不是单元格,范围。看。我不知道这是否是问题,但你至少应该解决它。谢谢,我会解决的,然后回来。我可以提供哪些更详细的信息来帮助您?现在的格式是
工作表。set_column('A:A',20)
没有改变任何内容。我添加了一个完整的工作示例谢谢您的示例。数据未格式化,因为它是作为字符串写入的,Excel仅对数字应用数字格式。因此,您需要将数字和日期数据转换为数字和日期(使用datetime.py)。但是,
set\u column()
的语法不正确。它接受一个列,而不是单元格,范围。看。我不知道这是否是问题,但你至少应该解决它。谢谢,我会解决的,然后回来。我可以提供哪些更详细的信息来帮助您?现在的格式是
工作表。set_column('A:A',20)
没有改变任何内容。我添加了一个完整的工作示例谢谢您的示例。数据未格式化,因为它是作为字符串写入的,Excel仅对数字应用数字格式。因此,您需要将数字和日期数据转换为数字和日期(使用datetime.py)。