[ホーム] - [よく見るエラーメッセージ一覧] - [open関数にて "SyntaxError: positional argument follows keyword argument"の原因と対処]

【Python】open関数にて "SyntaxError: positional argument follows keyword argument"の原因と対処 | Python で csv ファイルを読み込み | Windows





作成日:2022/02/09

関数に与える引数の順番に誤りがある場合、このエラーが発生します。
このエラーは open 関数での引数の順番に誤りに原因があります。

encoding = "shift_jis", "r" の順番を逆にすると正常に動作します。


【間違い】

import csv

csvfile = open("c:\\temp\\testfile.csv" , encoding = "shift_jis", "r" , errors="" , newline="")

f = csv.reader(csvfile , delimiter=",", doublequote=True, lineterminator="\r\n", quotechar='"', skipinitialspace=True)

h = next(f)

print(h)

for row in f:
print(row)

File "c:\temp\test.py", line 3
csvfile = open("c:\\temp\\testfile.csv" , encoding = "shift_jis", "r" , errors="" , newline="")
^
SyntaxError: positional argument follows keyword argument

【正しい】

import csv

csvfile = open("c:\\temp\\testfile.csv" , "r" , encoding = "shift_jis" , errors="" , newline="")

f = csv.reader(csvfile , delimiter=",", doublequote=True, lineterminator="\r\n", quotechar='"', skipinitialspace=True)

h = next(f)

print(h)

for row in f:
print(row)

['東京京', '名古屋', '大阪']
['100', '50', '30']
['50', '30', '70']
['15', '55', '100']

サンプルコード

以下は Windows 10 環境における正常実行可能なサンプルコードです。

Windows 環境の Python にて、 csv (Comma Separated Value) ファイルを読み込むサンプルプログラムを紹介します。
次の例ではc:\temp\testfile.csv をcsv ファイルとして読み込みんでいます。
ヘッダーを出力し、その後各行を1行ごとに出力しています。

サンプルコード:


import csv

csvfile = open(r"c:\temp\testfile.csv" , "r" , encoding = "shift_jis'" , errors="" , newline="")

f = csv.reader(csvfile , delimiter=",", doublequote=True, lineterminator="\r\n", quotechar='"', skipinitialspace=True)

h = next(f)

print(h)

for row in f:
print(row)


実行結果:

['東京京', '名古屋', '大阪']
['100', '50', '30']
['50', '30', '70']
['15', '55', '100']







本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [よく見るエラーメッセージ一覧]