import csv
import pandas as pd
import numpy as np
def get_csv_by_open(path, list_x, list_y):
with open(path,'r') as csvfile:plots = csv.reader(csvfile)
for row in plots:
list_x.append(row[0])
list_y.append(row[1])
def get_csv_by_pd_read(path):
return pd.read_csv(path, encoding='utf-8')
def get_csv_by_np_loadtxt(path):
return np.loadtxt(path, delimiter=',', unpack=True, dtype='str')
1.get_csv_by_open 方法直接把文件的前两列读取到两个列表中保存。它会把空项读取为 ‘’。
2.get_csv_by_pd_read 方法把文件全部数据读取到一个 DataFrame 中,注意,它会默认把文件的第一行读取为 DataFrame 的 columns(把空项读取为 nan)。举例,假如 path 文件的内容是以下两列三行数据:
1 3
5 9
7 11
那么 df = get_csv_by_pd_read(path) 读取到的 DataFrame 的只有两行数据,和一行列名(‘1’和‘3’)。
df['3'] 可获取包含 9 和 11 的 Series。
3. get_csv_by_np_loadtxt 方法把文件数据读取到多个 ndarray,如果不指定dtype,默认会以 float 解析数据,如果此时文件内容不全是数值,则会报错 ValueError: could not convert string to float: XXX(XXX代表非数值项的内容)