我正在使用该pandas.read_excel()函数将excel文件导入到pandas数据框中.
其中一列是表格的主键:它是所有数字,但它以文本形式存储(Excel单元格左上方的小绿色三角形证实了这一点).
但是,当我将文件导入pandas数据帧时,该列将作为float导入.这意味着,例如,'0614'变为614.
有没有办法在导入列时指定数据类型?我知道这在导入CSV文件时是可能的,但在语法中找不到任何内容read_excel().
我能想到的唯一解决方案是在Excel的文本开头添加一个任意字母(将'0614'转换为'A0614'),以确保将列导入为文本,然后切掉'A'在python中,所以我可以将它与我从SQL导入的其他表匹配.
我有一个Python ExcelDocument类,它提供了读取/写入/格式化Excel文件的基本方便方法,我在看似简单的Python代码中遇到了一个奇怪的错误.我有一个保存和saveAs方法:
def save(self):
''' Save the file '''
self.workbook.Save()
def saveAs(self, newFileName):
''' Save the file as a new file with a different name '''
self.workbook.SaveAs(newFileName)
Run Code Online (Sandbox Code Playgroud)
save方法工作正常,但是当我尝试调用saveAs方法时myExcelObject.saveAs("C:/test.xlsx")- 我收到以下错误:
Traceback (most recent call last):
File "C:\workspace\Utilities\src\util\excel.py", line 201, in <module>
excel.saveAs("C:/test.xlx")
File "C:\workspace\Utilities\src\util\excel.py", line 185, in saveAs
self.workbook.SaveAs(newFileName)
File "<COMObject Open>", line 7, in SaveAs
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft Office Excel', u"Microsoft Office Excel cannot access the file 'C:\\//8CBD2000'. There are …Run Code Online (Sandbox Code Playgroud) 如何:使用openpyxl模块将带分隔符的CSV文件转换为XLS(Excel工作表)?