質問編集履歴
4
丸投げだったので現段階で試していることを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -40,6 +40,53 @@
|
|
40
40
|
7,2020-12-09 15:15,2020-12-15 17:00,打刻ミス
|
41
41
|
8,2020-12-09 15:18,2020-12-09 15:18,
|
42
42
|
```
|
43
|
+
|
44
|
+
###現段階で試していること・調査中
|
45
|
+
python側(修正データは読み込んでいません)
|
46
|
+
nan部分をnanで上書きしたくない(修正データがnanとき、修正元の退勤時間のデータをそのまま使いたい)
|
47
|
+
Noが1の部分を指定して上書きするコード(間違っている可能性あり)
|
48
|
+
|
49
|
+
```python
|
50
|
+
import csv
|
51
|
+
|
52
|
+
|
53
|
+
def read_csv(filename):
|
54
|
+
f = open(filename, "r")
|
55
|
+
csv_data = csv.reader(f)
|
56
|
+
list1 = [e for e in csv_data]
|
57
|
+
f.close()
|
58
|
+
return list1
|
59
|
+
|
60
|
+
|
61
|
+
def update_list2d(list1, data):
|
62
|
+
for i in range(len(list1)):
|
63
|
+
if list1[i][0] == data[0]: list1[i] = data
|
64
|
+
return list1
|
65
|
+
|
66
|
+
|
67
|
+
def write_csv(filename, list1):
|
68
|
+
with open(filename, 'w', newline='') as f:
|
69
|
+
writer = csv.writer(f)
|
70
|
+
writer.writerows(list1)
|
71
|
+
|
72
|
+
f.close()
|
73
|
+
|
74
|
+
|
75
|
+
def main():
|
76
|
+
#csvファイルのパス
|
77
|
+
csv_path = "data1.csv"
|
78
|
+
#csvファイルのロード
|
79
|
+
csv_data = read_csv(csv_path)
|
80
|
+
|
81
|
+
data = ["1", "2020-12-09 14:42", nan, ""]
|
82
|
+
csv_data2 = update_list2d(csv_data, data)
|
83
|
+
write_csv(csv_path, csv_data2)
|
84
|
+
|
85
|
+
|
86
|
+
if __name__ == '__main__':
|
87
|
+
main()
|
88
|
+
```
|
89
|
+
|
43
90
|
### 条件
|
44
91
|
修正データの空白の部分は修正元のデータをそのまま使う
|
45
92
|
Noを参照して上の行から下の行までを順次適応させたい
|
3
タイトル変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
PythonでCSV
|
1
|
+
PythonでCSVを使って新規ファイルとして出力をしたい
|
body
CHANGED
@@ -53,7 +53,8 @@
|
|
53
53
|
修正元のNoは修正データの参照元と仮定しています
|
54
54
|
修正データのNoは修正元の参照先と仮定しています
|
55
55
|
また、過去に似たような質問があった場合は、リンクを載せていただけると幸いです。
|
56
|
+
|
56
57
|
###追記
|
57
|
-
|
58
|
+
手段は問いません。
|
58
59
|
おかしい部分があった場合は指摘をいただけると幸いです。
|
59
60
|
素人なのでどなたかご教授くだされば幸いです。
|
2
補足追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
python3で、修正元のデータに修正データを適応させ修正後のデータの形で出力をしたいです。
|
4
4
|
pythonとCSVファイルのみで操作をしたいです。
|
5
|
+
|
5
6
|
###コード
|
6
7
|
修正元のデータ
|
7
8
|
```csv
|
@@ -44,7 +45,11 @@
|
|
44
45
|
Noを参照して上の行から下の行までを順次適応させたい
|
45
46
|
|
46
47
|
### 補足情報
|
47
|
-
python3.6
|
48
|
+
・python3.6
|
49
|
+
・修正元:data1.csv
|
50
|
+
・修正データ:fix.csv
|
51
|
+
・修正後:data1_after.csv
|
52
|
+
|
48
53
|
修正元のNoは修正データの参照元と仮定しています
|
49
54
|
修正データのNoは修正元の参照先と仮定しています
|
50
55
|
また、過去に似たような質問があった場合は、リンクを載せていただけると幸いです。
|
1
書き換えから表記を変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
python3で、修正元のデータに修正データを適応させ修正後のデータの形
|
3
|
+
python3で、修正元のデータに修正データを適応させ修正後のデータの形で出力をしたいです。
|
4
|
-
pythonとCSVファイルのみで
|
4
|
+
pythonとCSVファイルのみで操作をしたいです。
|
5
5
|
###コード
|
6
6
|
修正元のデータ
|
7
7
|
```csv
|