为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

茅侃侃 2022-09-20 16:47:46
我想用“openpyxl”方法将一张纸上的特定行和列复制到另一张纸上。但我的主要Excel文件是.xlsb文件,“开放pyxl”不支持.xlsb文件。所以我用这种复杂的方式构建。(*我无法根据公司规则从微软Excel更改.xlsb)。主文档.xlsb 文件>临时文档.xlsx>我的分析文档.xlsx-首先,我正在将数据格式.xlsb更改为与熊猫.xlsx。- 之后,从临时文档.xlsx,我使用openpyxl方法获取特定的列和行并粘贴到我的分析文档中.xlsx-我的问题是:我想将D列格式从“常规”更改为“短日期”,我是Python的初学者。你能帮我关于代码吗?另外,如果我可以更改“.xlsb”中的格式单元格以.xlsx转换期“,也许我可以接受用户的输入:”您要附加'我的分析文档.xlsx哪个日期?'”'主文件.xlsx”“临时文件.xlsx”“我的分析文档.xlsx”
查看完整描述

3 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

是的,在文档中查看:

import xlsxwriter


workbook = 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 = 0

for cell in column_D8_downwards:

    worksheet.write(row, 'D8', cell, cell_format_05)

    row=+1


workbook.close()

因此,循环访问列中的所有单元格(D8向下),并将旧值写入具有新格式的单元格中。


查看完整回答
反对 回复 2022-09-20
?
HUX布斯

TA贡献1876条经验 获得超6个赞

在 xlrd 的帮助下读取数据后,您也可以执行相同的操作:pandas.DataFrame

import xlrd

import pandas as pd


df = 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       Date

0     43891 2020-03-01

1     43892 2020-03-02

2     43893 2020-03-03

3     43894 2020-03-04

4     43895 2020-03-05

此外,您可以根据需要更改日期格式。




查看完整回答
反对 回复 2022-09-20
?
慕村9548890

TA贡献1884条经验 获得超4个赞

问题以非常简单的方式解决,当我解决它时,我感到震惊。

1-打开“我的分析文档.xlsx”

2-选择整个“D”列

3-单击主页按钮

4 格式单元格>短日期

即使我用python更新excel数据,列格式类型也不会改变。

感谢所有的支持。

//img1.sycdn.imooc.com//63297e9e0001443605390462.jpg

查看完整回答
反对 回复 2022-09-20
  • 3 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信