Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在python中以数组列方式存储csv文件中的数据_Python 3.x - Fatal编程技术网

Python 3.x 如何在python中以数组列方式存储csv文件中的数据

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

假设我有一个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 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预期输出。请按照链接下载数据。感谢提供最简单的解决方案,它对我非常有效!