回答編集履歴
1
test
CHANGED
@@ -1,9 +1,14 @@
|
|
1
|
-
|
1
|
+
> 記載していただいた通りに実行すると error: Expected 33 fields in line 4, saw 34 というようなエラーが出てしまいます。
|
2
|
+
|
3
|
+
1 行当たりの列数が異なっている CSV データですので、まずは 1 行全てを 1 列として読み込んでから分割します。それから、数値に変換可能なデータを全て変換します。
|
2
4
|
```python
|
3
5
|
import pandas as pd
|
4
6
|
|
5
|
-
df = pd.read_csv('./data.csv', encoding=
|
7
|
+
df = pd.read_csv('./data.csv', sep='\n', header=None, prefix='X', encoding="shift-jis")
|
8
|
+
df = df.X0.str.split(',', expand=True).fillna('')
|
9
|
+
df.columns = df.iloc[0]
|
10
|
+
df = df[1:]
|
11
|
+
df = df.applymap(lambda x: pd.to_numeric(x, errors='ignore', downcast='signed'))
|
6
12
|
print(df)
|
7
13
|
df.to_excel('excel-data.xlsx', encoding='utf-8')
|
8
14
|
```
|
9
|
-
|