Конвертировать файл Excel с отметкой времени в python дату и время - PullRequest
0 голосов
/ 16 января 2020

Как я могу преобразовать большой файл .xlsx, который содержит много временных меток (например, 1537892885364), в дату и время (в python), а затем сохранить его как новый файл .xlsx?

Я новичок в python, и я попробовал множество способов достичь этого сегодня, но я не нашел решения.

Ниже приведен код, который я использовал, но он дает мне «[Errno 13] В доступе отказано» Я пробовал разные способы, которые также создавали проблемы.

from __future__ import absolute_import, division, print_function
import os
import pandas as pd

def main(path, filename, absolute_path_organisation_structure):
    absolute_filepath = os.path.join(path,filename)
    #Relevant list formed with 4th, 5th and 6th columns
    df = pd.read_excel(absolute_filepath, header=None, parse_cols=[4,5,6])
    # Transform column 0 and 2 to datetime
    df[0] = pd.to_datetime(df[0])
    df[2] = pd.to_datetime(df[2])
    print(df)

path = open(r'C:\\Users\\****\\data')
MISfile  = 'filename.xlsx'
main(path, MISfile,None)

1 Ответ

0 голосов
/ 17 января 2020

Надеюсь, это поможет:

# requires the following packages:
# - pandas
# - xlrd
# - openpyxl

import pandas as pd

# reading in the excel file timestamps.xlsx
# this file contains a column 'epoch' with the unix epoch timestamps
df = pd.read_excel('timestamps.xlsx')

# translate epochs into human readable and write into newly created column
# note, your timestamps are in ms, hence the unit
df['timestamp'] = pd.to_datetime(df['epoch'],unit='ms')

# write to excel file 'new_timestamps.xlsx'
# index=False prevents pandas to add the indices as a new column
df.to_excel('new_timestamps.xlsx', index=False)
...