回答編集履歴
3
誤字を修正
answer
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
s12382,2020/8/25 18:02,S_0008,1,,1,,1,,2020/8/26,2,4,4,3,2,2,6,29,1,s12382,12382,,,,,,,,,,,,,,,,,,,
|
13
13
|
```
|
14
14
|
|
15
|
-
該当部分を`"`で囲む必要はなく、2行目の不要な`"`と3行目の`"""`を削除すれば、`read_csv`で読み込めした。元データはエンコーディングがシフトJISなので、読み込む際には`encoding="cp932"`が必要です。
|
15
|
+
該当部分を`"`で囲む必要はなく、2行目の不要な`"`と3行目の`"""`を削除すれば、`read_csv`で読み込めました。元データはエンコーディングがシフトJISなので、読み込む際には`encoding="cp932"`が必要です。
|
16
16
|
|
17
17
|
```Python
|
18
18
|
import pandas as pd
|
2
表現を修正
answer
CHANGED
@@ -1,25 +1,24 @@
|
|
1
|
-
|
1
|
+
まず、`pandas.read_csv`自体は、改行コードが\nだけでも\r\nでも、それらが混在していても、問題なくデータを読み込めます。
|
2
2
|
|
3
|
+
今回の問題は、対象のCSVファイルに、`"`で囲まれた部分に\r\nが入ったデータが含まれていることです。2行目の`"ol_0011`の直後ですね。`"`に囲まれているので\r\nがそのままデータの一部として読み込まれて、3行目のデータが2行目の一部として扱われています。以下は、16進ダンプされた内容から元のCSVを復元したものです。
|
4
|
+
|
5
|
+
```csv
|
6
|
+
ユーザーID,回答時刻,FormNo,sisetuCode,sisetuName,drCode,drName,kamokuCode,kamokuName,tabdate,tab_no,slider_1,slider_2,slider_3,slider_4,slider_5,cnt_new,cnt_total,comp,user_id,user_id_2,,,,,,,,,,,,,,,,,,,
|
7
|
+
isol_0011,2020/8/20 18:48,S_0008,1,,1,,1,,2020/8/20,1,2,4,2,2,1,1,1,0,isol_0011,"ol_0011
|
8
|
+
s02264,2020-09-02 15:43:09""",S_0008,1,,1,,1,,2020/9/2,1,5,5,5,3,3,100,100,0,s02264,2264
|
9
|
+
s04624,2020/9/1 19:03,S_0008,1,,1,,1,,2020/9/1,1,4,2,0,3,1,,0,1,s04624,4624,,,,,,,,,,,,,,,,,,,
|
10
|
+
s10647,2020/9/2 10:29,S_0008,1,,1,,1,,2020/9/2,1,5,3,2,3,3,0,0,1,s10647,10647,,,,,,,,,,,,,,,,,,,
|
11
|
+
s12382,2020/8/25 15:22,S_0008,1,,1,,1,,2020/8/25,1,2,4,2,3,3,23,23,1,s12382,12382,,,,,,,,,,,,,,,,,,,
|
12
|
+
s12382,2020/8/25 18:02,S_0008,1,,1,,1,,2020/8/26,2,4,4,3,2,2,6,29,1,s12382,12382,,,,,,,,,,,,,,,,,,,
|
13
|
+
```
|
14
|
+
|
15
|
+
該当部分を`"`で囲む必要はなく、2行目の不要な`"`と3行目の`"""`を削除すれば、`read_csv`で読み込めした。元データはエンコーディングがシフトJISなので、読み込む際には`encoding="cp932"`が必要です。
|
16
|
+
|
3
17
|
```Python
|
4
18
|
import pandas as pd
|
5
19
|
|
6
|
-
df = pd.read_csv("
|
20
|
+
df = pd.read_csv("blended2_mod.csv", encoding="cp932", parse_dates=['回答時刻'], skipinitialspace=True)
|
7
21
|
print(df)
|
8
22
|
```
|
9
23
|
|
10
|
-
```results
|
11
|
-
0 1
|
12
|
-
0 ol_0011 NaN
|
13
|
-
1 s02264 2020-09-02 15:43:09
|
14
|
-
2 ol_0012 NaN
|
15
|
-
3 s02265 2020-09-03 16:43:09
|
16
|
-
4 ol_0013 NaN
|
17
|
-
5 s02266 2020-09-04 17:43:09
|
18
|
-
```
|
19
|
-
|
20
|
-
質問へのコメントでも述べたように、実際に使っているコードとCSVファイル(の一部)を提示してください。
|
21
|
-
|
22
|
-
追加分:
|
23
|
-
|
24
|
+
末尾にデータの存在しない項目が並んでいるのは、2,3行目が(すでに説明した理由で)結合していまった影響でしょうか。DataFrameで読み込んだ後で削除すればいいでしょう。
|
24
|
-
|
25
|
-
16進ダンプされた内容から元のCSVを復元して確認しましたが、該当部分を`"`で囲む必要はなく、不要な`"`と次行の`"""`を削除すれば、`read_csv`で読み込ました。エンコーディングがシフトJISなので、読み込む際には`encoding="cp932"`が必要です。
|
1
補足を追加
answer
CHANGED
@@ -17,4 +17,9 @@
|
|
17
17
|
5 s02266 2020-09-04 17:43:09
|
18
18
|
```
|
19
19
|
|
20
|
-
質問へのコメントでも述べたように、実際に使っているコードとCSVファイル(の一部)を提示してください。
|
20
|
+
質問へのコメントでも述べたように、実際に使っているコードとCSVファイル(の一部)を提示してください。
|
21
|
+
|
22
|
+
追加分:
|
23
|
+
対象のCSVファイルに、`"`で囲まれた部分に\r\nが入ったデータが含まれています。2行目の`"ol_0011`の直後ですね。`"`に囲まれているので\r\nがそのままデータの一部として読み込まれています。
|
24
|
+
|
25
|
+
16進ダンプされた内容から元のCSVを復元して確認しましたが、該当部分を`"`で囲む必要はなく、不要な`"`と次行の`"""`を削除すれば、`read_csv`で読み込ました。エンコーディングがシフトJISなので、読み込む際には`encoding="cp932"`が必要です。
|