[Python Web Crawler] Python Web Crawlerの有料コースノートを簡単に取得するための150の講義第14章-データストレージ:CSVファイルの読み取り/書き込み

1. csvファイルを読み取る

  • リーダー:リストを返し、添え字で列の値を取得します
  • DictReader:辞書を返し、キー値で列値を取得します
import csv

with open('stock.csv', 'r', encoding='gbk') as fp:
    reader = csv.reader(fp)
    for x in reader:
        print(x)
        print(x[3])


with open('stock.csv', 'r', encoding='gbk') as fp:
    reader = csv.DictReader(fp)
    for x in reader:
        # print(x)
        print(x['secShortName'])

 

2. csvファイルに書き込む

  • writerow:リストの1行を書き込みます
  • writerows:リストの複数の行を書き込みます
  • DictWriter:辞書を使用してデータを書き込みます
import csv

headers = ('name', 'age', 'height')
student = [
    ('张三', 12, 160),
    ('张三', 13, 170),
    ('张三', 14, 180),
]

students = [
    {"name":'张三', "age": 12, "height": 160},
    {"name":'张三', "age": 13, "height": 170},
    {"name":'张三', "age": 14, "height": 180}
]

#newline=''使一行写入后不会换行, 否则行行之间有一行空行
with open('student.csv', 'w', encoding='utf-8', newline='') as fp:
    writer = csv.writer(fp)
    writer.writerow(headers)
    # for i in student:
    #     writer.writerow(i)
    writer.writerows(student)


with open('student.csv', 'w', encoding='utf-8', newline='') as fp:
    writer = csv.DictWriter(fp, headers)
    # 虽然DictWriter 创建时有一个headers, 但是真正写入表头数据还是需要调用writer.writeheader()方法
    writer.writeheader()
    writer.writerows(students)

 

おすすめ

転載: blog.csdn.net/weixin_44566432/article/details/108723867