簡體   English   中英

如何使用Python更新值並合並csv文件中的列

[英]How to update value and combine columns in csv file using Python

我有一個csv文件,其中包含如下所示的列。 我想將日期格式更改為2014-1-10,並將其與時間合並到一個新列中。 我想沒有熊貓...

Date     |Time
1/10/2014|0:09:31
1/10/2014|0:10:29

結果應如下所示:

Date     |Time   |DateTime
1/10/2014|0:09:31|2014-1-10 0:09:31
1/10/2014|0:10:29|2014-1-10 0:10:29

我嘗試了replace,matrix [] []等,但是到目前為止,仍然無法解決任何問題。 將感謝您的幫助!

最簡單的方法是使用PETL

import petl as etl
import datetime

t = etl.fromcsv('my.csv')
t = etl.addfield(t, 'DateTime', 
      lambda row: datetime.combine(row[0], row[1]))
etl.tocsv(t, 'mynew.csv')

僅使用Python內置int模塊:

import csv
import os
import datetime

inFilePath = "C:\\Temp\\SO\\test.csv"
outFilePath = "C:\\Temp\\SO\\temp.csv"

inFile = open(inFilePath, "r")
outFile = open(outFilePath, "wb")

reader = csv.reader(inFile, delimiter='|')
writer = csv.writer(outFile, delimiter='|', quotechar='"', quoting=csv.QUOTE_MINIMAL)

for row in reader:
    if "Date     " in row:
        writer.writerow(row)
        continue
    newDate = datetime.datetime.strptime(row[0], '%d/%m/%Y').strftime('%Y-%m-%d')
    newCell = newDate + " " + row[1]
    row.append(newCell)
    writer.writerow(row)


inFile.close()
outFile.close()

os.remove(inFilePath)
os.rename(outFilePath, inFilePath)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM