gpt4 book ai didi

Python 将 csv 文件列读入列表,忽略标题

转载 作者:行者123 更新时间:2023-12-05 08:41:52 24 4
gpt4 key购买 nike

我有一个看起来像这样的文件“data.csv”

ColA, ColB, ColC
1,2,3
4,5,6
7,8,9

我想打开文件列并将其读入列表,省略该列表的第一个条目,例如

dataA = [1,4,7]
dataB = [2,5,8]
dataC = [3,6,9]

实际上有超过 3 列并且列表很长,这只是格式的示例。我试过:

csv_file = open('data.csv','rb')
csv_array = []

for row in csv.reader(csv_file, delimiter=','):
csv_array.append(row)

然后我会将 csv_array 的每个索引分配给一个列表,例如

dataA = [int(i) for i in csv_array[0]]

但是我遇到了错误:

_csv.Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?

另外,将数据保存到几个列表中感觉像是一种非常冗长的方式......

谢谢!

编辑:

我是这样解决的:

import pandas as pd

df = pd.read_csv('data.csv', names = ['ColA','ColB','ColC']

dataA = map(int,(df.ColA.tolist())[1:3])

并对其余列重复。

最佳答案

只是为了向试图解决类似问题(可能没有 Pandas)的人们说明这一点,这里有一个带注释的简单重构。

import csv

# Open the file in 'r' mode, not 'rb'
csv_file = open('data.csv','r')
dataA = []
dataB = []
dataC = []

# Read off and discard first line, to skip headers
csv_file.readline()

# Split columns while reading
for a, b, c in csv.reader(csv_file, delimiter=','):
# Append each variable to a separate list
dataA.append(a)
dataB.append(b)
dataC.append(c)

这不会将各个字段转换为数字(如果需要,请使用 append(int(a)) 等)但希望应该足够明确和灵活以向您展示如何调整它新要求。

关于Python 将 csv 文件列读入列表,忽略标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46732542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com