ホームページ >バックエンド開発 >Python チュートリアル >Python が Csv ファイルでどのように動作するかを示すコード例の共有 (図)
この記事では、Pythonを使用してCsvファイルを操作するサンプルコードを主に紹介します。必要な友達は参考にしてください。
csvは、フォームに保存されます。テキスト ファイルのtable 次の表のようなデータ:
ファイルの内容は次のとおりです:
No.,Name,Age,Score 1,mayi,18,99 2,jack,21,89 3,tom,25,95 4,rain,19,80
上記の csv ファイルが「test.csv」として保存されているとします。
1. ファイルを読み込みます
Python の使用方法 Excel を操作するのと同じように、列の 1 つ、つまりフィールドを抽出します。 Python に付属の csv モジュールを使用して、これを実現するには 2 つの方法があります。最初のメソッドは、リーダー関数
を使用して反復可能なオブジェクト (CSV ファイルなど) を受け取り、ジェネレーター を返すことができ、そこから CSV のコンテンツを解析できます。 たとえば、次のコードは、 CSV の内容全体 (behaviorunit:
#!/usr/bin/python3 # -*- conding:utf-8 -*- author = 'mayi' import csv #读 with open("test.csv", "r", encoding = "utf-8") as f: reader = csv.reader(f) rows = [row for row in reader] print(rows)obtain:
[['No.', 'Name', 'Age', 'Score'], ['1', 'mayi', '18', '99'], ['2', 'jack', '21', '89'], ['3', 'tom', '25', '95'], ['4', 'rain', '19', '80']]を抽出する) のいずれかの列について、次のコードを使用できます:
#!/usr/bin/python3 # -*- conding:utf-8 -*- author = 'mayi' import csv #读取第二列的内容 with open("test.csv", "r", encoding = "utf-8") as f: reader = csv.reader(f) column = [row[1] for row in reader] print(column)を取得するには:
['Name', 'mayi', 'jack', 'tom', 'rain']すべてのデータが読み取られることに注意してくださいcsv からのデータは str 型です。この方法では、列番号を事前に知っている必要があります。たとえば、名前は列 2 にあり、タイトルの「名前」に基づいてクエリを実行することはできません。このとき、2 番目の方法を使用できます。 2 番目の方法は、リーダー関数に似た DictReader を使用することです。これは反復可能なオブジェクトを受け取り、ジェネレーターを返すことができますが、返された各セルは辞書に配置されます。この辞書のキーはこのセルのタイトル (つまり、列ヘッダー) です。次のコードで DictReader の構造を確認できます:
# -*- conding:utf-8 -*- author = 'mayi' import csv #读 with open("test.csv", "r", encoding = "utf-8") as f: reader = csv.DictReader(f) column = [row for row in reader] print(column)Get:
[{'No.': '1', 'Age': '18', 'Score': '99', 'Name': 'mayi'}, {'No.': '2', 'Age': '21', 'Score': '89', 'Name': 'jack'}, {'No.': '3', 'Age': '25', 'Score': '95', 'Name': 'tom'}, {'No.': '4', 'Age': '19', 'Score': '80', 'Name': 'rain'}]DictReader を使用して CSV の特定の列を読み取る場合は、列タイトル クエリを使用できます:
#!/usr/bin/python3 # -*- conding:utf-8 -*- author = 'mayi' import csv #读取Name列的内容 with open("test.csv", "r", encoding = "utf-8") as f: reader = csv.DictReader(f) column = [row['Name'] for row in reader] print(column)Get:
['mayi', 'jack', 'tom', 'rain']
2. ファイルを書き込むとき
ファイルを読み取るときは、csv ファイルをリストに読み込み、ファイルを書き込むときは、リスト内の要素が csv ファイルに書き込まれます。#!/usr/bin/python3 # -*- conding:utf-8 -*- author = 'mayi' import csv #写:追加 row = ['5', 'hanmeimei', '23', '81'] out = open("test.csv", "a", newline = "") csv_writer = csv.writer(out, dialect = "excel") csv_writer.writerow(row)取得:
以上がPython が Csv ファイルでどのように動作するかを示すコード例の共有 (図)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。