python读取csv数据存入数组(python如何读取csv数据)

http://www.itjxue.com  2023-04-04 05:37  来源:未知  点击次数: 

用python处理csv文件,最好可以将里面的文本信息转成一个二维数组的形式,具体如下

思路如下:

导入csv库;

打开文件,并用csv库函数reader读入数据;

csv读入的数据是一行一行的,所以通过循环语句把读到的数据放入到数组里

import?csv?#?必要库导入

filepath?=?'test.csv'?#?定义文件名称,本文件要与当前的.py文件要在同一文件夹下,不然要用绝对路径

with?open(filepath,'r')?as?csvfile:?#?打开数据文件

????reader?=?csv.reader(csvfile)?#?用csv的reader函数读取数据文件

????header?=?next(reader)?#?读取数据文件的表头

????data?=?[]?#?定义一个空数组用于保存文件的数据

????for?line?in?reader:?#?循环读取数据文件并保存到数组data中

????????data.append(line)?#?line是个一维数组,是数据文件中的一行数据

print(header)?#?表头

print(data)?#?读取的二维数组

python如何读取CSV信息存入数据库

class?DBI(object):

????"""database?interface"""

????def?__init__(self,?conn):

????????"""keep?connection"""

????????self._conn?=?conn

????def?store(self,?sql,?data):

????????"""store?data?into?database?with?given?sql"""

????????curr?=?self._conn.cursor()

????????curr.executemany(sql,?data)

????????self._conn.commit()

????????curr.close()

????def?execute(self,?sql,?*args,?**kwgs):

????????"""execute?sql?on?database"""

????????curr?=?self._conn.cursor()

????????curr.execute(sql,?*args,?**kwgs)

????????self._conn.commit()

????????curr.close()

def?ipager(serial,?pagesize):

????"""make?serial?page?by?page"""

????buff?=?[]

????for?row?in?serial:

????????buff.append(row)

????????if?len(buff)?=?pagesize:

????????????send,?buff,?=?buff,?[]

????????????yield?send

????if?len(buff):

????????yield?buff

def?tester():

????import?csv

????import?sqlite3

????

????dbi?=?DBI(sqlite3.connect(database=":memory:"))

????dbi.execute("create?table?tb_tester?(id,?key,?val,?tm)")

????sql="insert?into?tb_tester?values?(?,??,??,??)"

????with?open(todofile,?'rb')?as?handle:

????????for?rows?in?ipager(csv.reader(handle),?512):

????????????dbi.store(sql,?rows)

csv模块是python处理csv类文件的强大工具; 参考

ipager将大数据流按指定大小分页, 以节省资源并提升效率;

DBI提供统一的数据库接口操作方法;

请问python中如何读取一个csv或者dat文件,并储存为一个二维数组?

和普通文件一样读取。csv中文件数据项有逗号划分开。

infile = open("data.csv", 'r')

for line in infile:

data = line.rstrip().split(',')

print(data)

怎么样Python从csv文件中读出并将第一红框中的数据保存为数组,第二红框中如果为是则为1,否则为0?

data=[]

with open("【csv文件路径】") as f:

# readline先读掉第一行

while (line := f.readline()) != "":

line = line.split(',')

data.append(line[1:2]+[1 if line[4] == "是" else 0])

说明:

:= 海象运算符 3.8语法

# 作用是一边赋值,一边让表达式的值加入运算

# 比如 (i := 25) + 1

# 会返回26,并且拥有一个名为i的变量

# 3.7-可改为以下代码

# line = f.readline()

# while line != "":

value1 if exp else value2如果exp成立的话,返回value1,否则返回value2

(责任编辑:IT教学网)

更多

推荐网络创业文章