如何使用蟒蛇在 Excel 中更改列格式

我想用“openpyxl”方法将一张纸上的特定行和列复制到另一张纸上。但我的主要Excel文件是.xlsb文件,“开放pyxl”不支持.xlsb文件。所以我用这种复杂的方式构建。(*我无法根据公司规则从微软Excel更改.xlsb)。

主文档.xlsb 文件>临时文档.xlsx>我的分析文档.xlsx

-首先,我正在将数据格式.xlsb更改为与熊猫.xlsx。

- 之后,从临时文档.xlsx,我使用openpyxl方法获取特定的列和行并粘贴到我的分析文档中.xlsx

-我的问题是:我想将D列格式从“常规”更改为“短日期”,我是Python的初学者。你能帮我关于代码吗?另外,如果我可以更改“.xlsb”中的格式单元格以.xlsx转换期“,也许我可以接受用户的输入:”您要附加'我的分析文档.xlsx哪个日期?'”

'主文件.xlsx”

http://img2.mukewang.com/63297e4d0001ce6013640700.jpg

“临时文件.xlsx”

http://img.mukewang.com/63297e6500018dd212560765.jpg

“我的分析文档.xlsx”

http://img3.mukewang.com/63297e700001e26d13610701.jpg



茅侃侃
浏览 85回答 3
3回答

肥皂起泡泡

是的,在文档中查看:import xlsxwriterworkbook = xlsxwriter.Workbook('your_file.xlsx')worksheet = workbook.add_worksheet()cell_format05 = workbook.add_format()cell_format05.set_num_format('mm/dd/yy')worksheet.write(5, 0, 36892.521, cell_format05)  # output -> 01/01/01# untested code for you, get your cells into column_D8_downwards array# this is rather a structural code, not functional!row = 0for cell in column_D8_downwards:    worksheet.write(row, 'D8', cell, cell_format_05)    row=+1workbook.close()因此,循环访问列中的所有单元格(D8向下),并将旧值写入具有新格式的单元格中。

HUX布斯

在 xlrd 的帮助下读取数据后,您也可以执行相同的操作:pandas.DataFrameimport xlrdimport pandas as pddf = pd.read_csv('Your_File.csv')df = df[6:].reset_index()df.columns = df.iloc[0]df['Date'] = df['Date_Int'].apply(lambda x: xlrd.xldate.xldate_as_datetime(x, 0))print(df)   TARİH       Date0     43891 2020-03-011     43892 2020-03-022     43893 2020-03-033     43894 2020-03-044     43895 2020-03-05此外,您可以根据需要更改日期格式。

慕村9548890

问题以非常简单的方式解决,当我解决它时,我感到震惊。1-打开“我的分析文档.xlsx”2-选择整个“D”列3-单击主页按钮4 格式单元格>短日期即使我用python更新excel数据,列格式类型也不会改变。感谢所有的支持。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python