[ホーム] -
[よく見るエラーメッセージ一覧] - [open関数にて "SyntaxError: positional argument follows keyword argument"の原因と対処]
作成日: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']
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)
[ホーム] - [よく見るエラーメッセージ一覧]