Python 3.x 如何在python中以数组列方式存储csv文件中的数据
假设我有一个csv文件,其中包含五列,每列有200个数据。 我使用过这两个代码,但都是存储行数据的代码。有谁能告诉我如何在python中直接以.csv文件的形式将每个列存储为单个数组 代码1:Python 3.x 如何在python中以数组列方式存储csv文件中的数据,python-3.x,Python 3.x,假设我有一个csv文件,其中包含五列,每列有200个数据。 我使用过这两个代码,但都是存储行数据的代码。有谁能告诉我如何在python中直接以.csv文件的形式将每个列存储为单个数组 代码1: import csv with open("figure1_plotdata.csv") as f: reader = csv.reader(f) next(reader) data = [r for r in reader] print (data) 代码2: from num
import csv
with open("figure1_plotdata.csv") as f:
reader = csv.reader(f)
next(reader)
data = [r for r in reader]
print (data)
代码2:
from numpy import genfromtxt
my_data = genfromtxt('figure1_plotdata.csv', delimiter=',')
print (my_data)
如果要将CSV文件转换为单个列表对应于列的列表,可以使用pandas加载CSV并应用转置以获得所需的结果 可以这样做
import pandas as pd
df = pd.read_csv('your_file_name.csv')
data_list = df.T.values.tolist()
print(data_list)
示例数据帧
A B C
1 10 11
2 20 22
3 30 33
结果
[[1, 2, 3], [10, 20, 30], [11, 22, 33]]
试试这样的。将csv文件中的数据存储在二维数据数组data[i][j]中,i为列,j为行,两个索引均从0开始。基本上是原始数据被转置
import csv
file_name = 'figure1_plotdata.csv'
data = [[] for i in range(5)]
with open(file_name) as csvfile:
csvdata = csv.reader(csvfile, dialect='excel', delimiter=',')
''' store column value in a 2 dimensional data array data[i][j]
with i being the column and j the row '''
for row in csvdata:
for i, column in enumerate(row):
data[i].append(column)
for i, column in enumerate(data):
for j, value in enumerate(column):
print(f'row {j}, column {i}: {value}')
提供数据示例n预期输出。请按照链接下载数据。感谢提供最简单的解决方案,它对我非常有效!