Pandas读取和写入excel表格时对日期格式的处理

最近使用pandas遇到一个问题,从excel读取日期时因为是datetime类型,所以会是“年月日时分秒”格式,此时须用.dt.strftime(’%Y-%m-%d’)去掉时分秒;但存入excel文档时因为是datetime类型,excel又自动加上了时分秒。解决方法是使用.apply(str)方法在存入excel前把datetime类型转换为string类型,再对string进行切片。.apply()方法对于要批量处理单元格内容十分有用。

pandas练习代码如下:

import pandas as pd

file_path = '/Users/Administrator/Desktop/'
file_name = 'test.xls'
file = file_path + file_name
data = pd.read_excel(file,sheet_name = 'PLANNING',header=8)
data.dropna(axis=0,how='all')
data.rename(columns={'PURCHASE ORDER DATE': '下单日期', 
                     'PURCHASE ORDER #': '合同号', 
                     'PURCHASE ORDER LINE #': '行号',
                     'PART NUMBER': '客户型号',
                     'QTY ORDERED': '订单数量',
                     'REQUESTED NEED DATE': '要求交货日期',
                     'CHINA PO NUMBER': '订单号',
                     'ETD - China Date': '预计发货日期',
                     'QTY Shipped': '已发货数量',
                     'Balance to Ship': '剩余数量',
                     'ETA Elgin Arrival Date': '预计到港日期',
                     'China Shipment #': '唛头',
                     'Qty Shipped': '备注1',
                     'QTY OPEN ON PO': '备注2',
                     'Ship Date': '发货日期',
                     'INVOICE NO.': '发票号码',
                     'OPEN OR CLOSED': '状态',
                     'Unnamed: 17': '备注3'
                     }                
                     , inplace=True) 
data['下单日期']=data['下单日期'].dt.strftime('%Y-%m-%d')
data['下单日期']=data['下单日期'].apply(str)
data['要求交货日期']=data['要求交货日期'].apply(str)
data['预计发货日期']=data['预计发货日期'].apply(str)
def request_date(x):
    return x[0:10]
data['要求交货日期']=data['要求交货日期'].apply(request_date)
data['预计发货日期']=data['预计发货日期'].apply(request_date)

data.to_excel( '/Users/Administrator/Desktop/GKN_orders.xls',sheet_name='GKN',index=False)
### 回答1: 在Python中,可以使用pandas库对Excel表格进行读取写入。其中,pandas.read_excel()函数可以用来读取Excel表格pandas.DataFrame.to_excel()函数则可以用来将DataFrame数据类型写入Excel表格读取Excel表格的示例代码如下: import pandas as pd df = pd.read_excel('example.xlsx', sheet_name='Sheet1') 其中,'example.xlsx'表示Excel表格的文件路径,'Sheet1'为要读取表格的名称。 写入Excel表格的示例代码如下: import pandas as pd data = {'Name': ['Tom', 'Sam', 'Kevin'], 'Age': [25, 30, 27], 'Gender': ['Male', 'Male', 'Female']} df = pd.DataFrame(data) df.to_excel('example.xlsx', sheet_name='Sheet1', index=False) 其中,data是一个字典类型,包含了要写入Excel表格的数据。df是一个DataFrame类型,用来保存data的数据。'example.xlsx'表示要写入Excel表格的文件路径,'Sheet1'为要写入表格的名称。index=False表示不将行索引写入Excel表格中。 综上所述,要读取写入Excel表格,只需要使用pandas库中的相关函数即可。 ### 回答2: Excel表格是一种常见的电子表格,它可以记录和处理各种数据,具有直观、简单、易用等特点。在Python中,可以使用第三方库openpyxl来读取写入Excel表格。下面分别介绍如何读取写入Excel表格的方法。 一、读取Excel表格 1. 安装openpyxl库:在命令行中输入 pip install openpyxl,即可安装openpyxl库。 2. 打开Excel表格:要使用openpyxl库读取Excel表格,首先要打开表格文件,可以使用load_workbook()方法打开文件,并返回一个workbook对象。 例如:workbook = openpyxl.load_workbook('example.xlsx') 3. 获取表格中的单元格:要获取Excel表格中的单元格,可以先选定一个工作表,然后通过其名称或坐标来获取单元格对象。 例如:worksheet = workbook['Sheet1'] cell = worksheet['A1'] 或 cell = worksheet.cell(row=1, column=1) 4. 读取单元格的值:可以使用value属性来读取单元格中的值。 例如:print(cell.value) 二、写入Excel表格 1. 创建Excel表格:要使用openpyxl库写入Excel表格,首先要创建一个workbook对象,并添加需要的工作表。 例如:workbook = openpyxl.Workbook() worksheet = workbook.active worksheet.title = 'Sheet1' 2. 写入单元格的值:也可以使用value属性来写入单元格中的值。 例如:worksheet['A1'].value = 'Python' 3. 保存Excel表格:可以使用save()方法来保存Excel表格。 例如:workbook.save('example.xlsx') 综上所述,Python通过openpyxl库可以方便地读取写入Excel表格,这对于数据处理和分析非常有帮助。但需要注意的是,openpyxl库在读写大型Excel文件可能会存在性能问题,因此需要合理使用并注意优化。 ### 回答3: Excel表格是一种广泛使用的电子表格,它被广泛用于记录和管理数据。Python语言中有很多可用于读取写入Excel表格的库,这里我们将重点介绍openpyxl库。 openpyxl是Python中一个用于读取写入Excel表格的库。它可以完全处理xlsx和xlsm文件,并且提供了对Excel中电子表格、单元格、行和列的完整访问。下面我们详细介绍openpyxl库的读写操作。 读取Excel表格: 1. 导入openpyxl库 ``` import openpyxl ``` 2. 打开Excel表格 ``` workbook = openpyxl.load_workbook('file_path') ``` 3. 获取要操作的表格(可以是默认的第一个sheet页,也可以是指定的sheet页) ``` sheet = workbook['sheet_name'] # 或者 sheet = workbook.active ``` 4. 获取单元格的值 ``` cell_value = sheet['A1'].value ``` 5. 获取行和列的值 ``` row_values = [] for row in range(1, sheet.max_row+1): row_data = [] for column in range(1, sheet.max_column+1): row_data.append(sheet.cell(row=row, column=column).value) row_values.append(row_data) col_values = [] for column in range(1, sheet.max_column+1): col_data = [] for row in range(1, sheet.max_row+1): col_data.append(sheet.cell(row=row, column=column).value) col_values.append(col_data) ``` 写入Excel表格: 1. 导入openpyxl库 ``` import openpyxl ``` 2. 创建Excel表格 ``` workbook = openpyxl.Workbook() ``` 3. 创建并选择要操作的sheet页 ``` sheet = workbook.create_sheet('sheet_name', 0) ``` 4. 写入单元格的值 ``` sheet['A1'] = 'value' ``` 5. 写入行和列的值 ``` row_values = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] for row in row_values: sheet.append(row) col_values = [[1, 4, 7], [2, 5, 8], [3, 6, 9]] for col in col_values: sheet.append(col) ``` 6. 保存Excel表格 ``` workbook.save('file_path') ``` 总的来说,使用openpyxl库读取写入Excel表格非常容易,只需几行代码就可以完成读写操作。对于需要处理Excel表格的项目,openpyxl是一个非常方便和强大的工具。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值