使用python读取tushare股市数据后,如何将float类型的日期,转化为日期类型,并且设定为索引

43 篇文章 22 订阅
7 篇文章 1 订阅

使用python读取tushare股市数据后,如何将float类型的日期,转化为日期类型,并且设定为索引

直接代码如下:

import pandas as pd
import tushare as ts
TOKEN = 'c0**********8c'

pro = ts.pro_api(token=TOKEN)

#使用token获取600519.SH的日行情数据
daily = pro.daily(ts_code = '600519.SH',start_date = '20191201')

#保存为csv文件
daily.to_csv('600519.csv')

#读取csv文件,并在读取的过程发生转化,将'trade_date'列转为日期类型,将'trade_date'列设定为index列。
daily=pd.read_csv('600519.csv', parse_dates = ['trade_date'], index_col = ['trade_date'])

这项工作就完成了,只用一行代码,就简简单单,把转化为日期的过程和设定索引index的过程完成了。

上文代码运行的话,需要自己免费注册tushare获取token。可以点击免费注册获取token或者https://tushare.pro/register?reg=287337,免费注册,即可获取token。

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Python中,要将xslx中的度分秒转化为度,可以使用openpyxl库来读取和修改Excel文件,同时使用数学计算来进行度分秒转换。以下是一个示例代码: ```python import openpyxl # 打开Excel文件 wb = openpyxl.load_workbook('data.xlsx') # 获取第一个工作表 sheet = wb.active # 遍历每一行数据 for row in sheet.iter_rows(min_row=2, values_only=True): # 获取度、分、秒的值 degree = row[0] minute = row[1] second = row[2] # 将度分秒转化为度 decimal_degree = degree + minute/60 + second/3600 # 将转换后的值保存到Excel的第四列 sheet.cell(row=row[0].row, column=4, value=decimal_degree) # 保存修改后的Excel文件 wb.save('data_converted.xlsx') # 关闭Excel文件 wb.close() ``` 上述代码将会读取名为"data.xlsx"的Excel文件中的度分秒数据,并将转换后的度保存到新的Excel文件"data_converted.xlsx"的第四列。请将代码中的文件名和列号根据实际情况进行修改。 ### 回答2: 要批量将XLSX文件中的度分秒数据转化为度,可以使用Python来完成。首先需要安装openpyxl库来处理Excel文件。然后,可以按照以下步骤进行操作: 1. 导入所需的库: ```python import openpyxl from openpyxl.utils import get_column_letter ``` 2. 打开XLSX文件: ```python workbook = openpyxl.load_workbook('data.xlsx') ``` 3. 选择要处理的工作表: ```python worksheet = workbook.active ``` 4. 获取需要转换的数据列的范围: ```python column_start = 1 # 起始列索引 column_end = 5 # 结束列索引 row_start = 2 # 起始行索引 row_end = worksheet.max_row # 结束行索引 ``` 5. 遍历每个单元格,将度分秒转化为度: ```python for row in range(row_start, row_end + 1): for column in range(column_start, column_end + 1): cell = worksheet[get_column_letter(column) + str(row)] degree = cell.value.split('°')[0] minutes = cell.value.split('°')[1].split('’')[0] seconds = cell.value.split('’')[1].split('”')[0] decimal_degree = float(degree) + (float(minutes) / 60) + (float(seconds) / 3600) cell.value = decimal_degree ``` 6. 保存并关闭XLSX文件: ```python workbook.save('data_processed.xlsx') workbook.close() ``` 以上代码将会读取名为"data.xlsx"的文件中的度分秒数据,将其转化为度,并存储在名为"data_processed.xlsx"的新文件中。可以根据实际需求修改文件名、列索引和行索引。 ### 回答3: 在Python中,可以使用openpyxl库来读取和写入Excel文件,通过读取xlsx文件中的数据,然后将度分秒转化为度。 首先,我们需要安装openpyxl库。可以通过在命令行中运行以下命令来安装: ``` pip install openpyxl ``` 然后,我们可以使用以下代码来实现转换: ```python import openpyxl def dms_to_degree(degrees, minutes, seconds): # 将度分秒转化为度 degree = degrees + minutes / 60 + seconds / 3600 return degree # 打开xlsx文件 workbook = openpyxl.load_workbook('input.xlsx') # 选择要操作的Worksheet worksheet = workbook['Sheet1'] # 假设需要操作Sheet1 # 遍历度分秒数据,转换并写入新的单元格 for row in worksheet.iter_rows(min_row=2): # 从第2行开始遍历,忽略表头 degrees = row[0].value minutes = row[1].value seconds = row[2].value new_degree = dms_to_degree(degrees, minutes, seconds) # 将新的度写入第4列 row[3].value = new_degree # 保存转换后的xlsx文件 workbook.save('output.xlsx') ``` 在上述代码中,我们首先导入了`openpyxl`库,然后定义了一个`dms_to_degree`函数,该函数用于将度分秒转化为度。然后,我们打开了输入的xlsx文件,并选择要操作的Worksheet。接下来,我们遍历度分秒数据,将其转换为度,并将转换后的度写入新的单元格。最后,保存转换后的xlsx文件。 需要注意的是,代码中的`input.xlsx`是输入的xlsx文件名,`output.xlsx`是输出的转换后的xlsx文件名。根据实际情况进行更改。 希望能帮助到您!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值