で.CSVファイルの最初の列を上書きすることはできません:日時文字列と時間列がある画像で Python-私は.csvファイル(画像参照)を持つ新しいタイムスタンプ
を、私は持っていますこの列を受け取り、時刻H:M:Sだけを読み取るプログラム。しかし、自分のプログラムだけでなく、タイムスタンプH:M:Sだけを読むようにしていますが、最初のファイルの時間欄を上書きしてH:M: Sタイムスタンプを新しい.csvに追加します。次のコードを入力します。
CODE:
import csv
import datetime as dt
import os
File = 'C:/Users/Alan Cedeno/Desktop/Test_Folder/HiSAM1_data_160215_164858.csv'
root, ext = os.path.splitext(File)
output = root + '-new.csv'
with open(File,'r') as csvinput,open(output, 'w') as csvoutput:
writer = csv.writer(csvoutput, lineterminator='\n')
reader = csv.reader(csvinput)
all = []
row = next(reader)
for line in reader:
row.append(dt.datetime.strptime(line[0],'%m/%d/%Y %H:%M:%S').time())
all.append(row)
for row in reader:
row.append(row[0])
all.append(row)
writer.writerows(all)
プログラムの動作、および日時の文字列を受け取り、タイムスタンプHの文字列上書き:新しい.csvファイルでのS:Mを。しかし、ここで問題があります。出力ファイルは、すべての列を置き換えたtime列を置き換える代わりに、このような出力ファイルを取得します。 M:最初にS Iは、フォーマットHで、tは本当に最初の画像のファイルのように見えるために新しい出力ファイルを作成する方法を知っている「をドン。この時点で
:第二の画像を参照してください。列のみ、第2のイメージのように全てがスクランブルされているわけではありません。助言がありますか? BAH FOR
はK列を参照してください、それは最初の画像の列Aであるべきであり、列B、C、D、E、F、G、I、およびJは同じままべき以下のような画像1.
.CSVファイルのダウンロードリンク:
#!python3
import csv
import datetime as dt
import os
File = 'data.csv'
root, ext = os.path.splitext(File)
output = root + '-new.csv'
# csv module documents opening with `newline=''` mode in Python 3.
with open(File,'r',newline='') as csvinput,open(output, 'w',newline='') as csvoutput:
writer = csv.writer(csvoutput)
reader = csv.reader(csvinput)
# Copy the header
row = next(reader)
writer.writerow(row)
# Edit the first column of each row.
for row in reader:
row[0] = dt.datetime.strptime(row[0],'%m/%d/%Y %H:%M:%S').time()
writer.writerow(row)
入力:いくつかの単純化されたデータではhttp://www.speedyshare.com/z2jwq/HiSAM1-data-160215-164858.csv
まずだろう、それはあなたがループの2番目のを必要としないように見えます。あなたの最初のforループでは、読者の最初の行として定義されている行に追加しています。 – Bahrom
@Bah Line [0]をLine [1]に変更しました。最初の列である時間列は読み込まれませんが、2番目の列である0.3/L列は読み取られません。だから私はライン[0]を別の値に変更することはできません。たぶん私はあなたが何を言っているのか理解していません... – dontbadick
2番目のループを完全にコメントアウトし、最初のループのボディを(row.append ...; all.appendから)この行に変更してみてください: 'all.append(line + [最新の編集を取り、先に括弧を忘れてしまった] – Bahrom