[英]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.