Python生成多个Excel文件-文本到列[关闭]

问题描述 投票:-2回答:1
我的python脚本生成了大约1000个文件(从网站抓取数据)。我正在使用以下代码生成excel文件:

cols = ['Hour','Temp','Weather','Wind','Direction','Humidity','Barometer','Visibility'] df = pd.DataFrame(data, columns=cols) df.to_csv(year + '\\' + filename + ".csv", sep=',', index=False, mode='w')

您可以看到,我使用逗号作为分隔符,并且我想在所有生成的文件中使用Excel在Text to Column中进行操作。当然,我可以手动执行此操作,这将浪费大量时间和精力。那么,如何在所有Excel文件中以编程方式调用“文本到列”操作?我更愿意在python脚本中执行此操作,但是如果那不可能,我如何使用VBA来执行此操作?我是VBA的新手,所以非常感谢您的帮助。
python excel vba text-to-column
1个回答
1
投票
'Declare the application event variable' Public WithEvents MonitorApp As Application 'Set the event variable be the Excel Application' Private Sub Workbook_Open() Set MonitorApp = Application End Sub 'This Macro will run whenever an Excel Workbooks is opened' Private Sub MonitorApp_WorkbookOpen(ByVal Wb As Workbook) Selection.TextToColumns _ Destination:=Range("A2"), _ DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Tab:=True, _ Semicolon:=False, _ Comma:=False, _ Space:=False, _ Other:=True, _ OtherChar:="-" End Sub

或参考此:

pandas.DataFrame.to_excel
DataFrame.to_excel(self, excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, encoding=None, inf_rep='inf', verbose=True, freeze_panes=None)

在columns字段中,您将拥有要在excel文件中看到的列的列表。

© www.soinside.com 2019 - 2024. All rights reserved.