import numpy as np
fname = 'mnist.txt'
data = np.loadtxt(filename,
delimiter=',', # String used to separate values
skiprows=2, # Skip the first 2 lines
usecols=[0,2], # Read the 1st and 3rd column
dtype=str) # The type of the resulting array
import csv
# ----------------- 读取csv文件 -----------------
# ------ 一般reader ------
with open('test.csv', 'r') as fp:
lines = csv.reader(fp)
for line in lines:
print(line) # line为list类型
# ------ DictReader ------
with open('names.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['first_name'], row['last_name'])
# ----------------- 写入csv文件 -----------------
# ------ 一般writer ------
fp = open('test.csv', 'w')
writer = csv.writer(fp, delimiter=',', lineterminator='\n')
writer.writerow(['col1', 'col2']) # 写入一行
writer.writerows([['col1', 'col2'], ['item1', 'item2']]) # 写入多行
# -----------
# It should always be safe to specify newline='', since the csv module does its own (universal) newline handling.
with open('eggs.csv', 'w', newline='') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=' ',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
# ------ DictWriter ------
with open('names.csv', 'w', newline='') as csvfile:
fieldnames = ['first_name', 'last_name']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})