如何在python中分别导入每个CSV列

2024-10-08 20:18:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试将CSV文件导入python,但我希望所有列作为变量分别导入,下面的代码只导入一列。如何对所有列执行此操作?你知道吗

import csv

import operator

import math

f = open('/Users/Maria/Downloads/CSV/proses110.csv')
csv_f = csv.reader(f)

SetDryTemp = []

for row in csv_f:
    row_int = int(row[2])
    SetDryTemp.append(row_int)

print SetDryTemp[0]


import csv

l = open('/Users/Maria/Downloads/CSV/proses102.csv')
csv_l = csv.reader(l)

SetDryTemp2 = []

for row in csv_l:
    row_int2 = int(row[2])
    SetDryTemp2.append(row_int2)

print SetDryTemp2[0]

Tags: csvinimportfordownloadsopenusersreader
1条回答
网友
1楼 · 发布于 2024-10-08 20:18:30

考虑将所有行保存到一个列表中,然后使用zip(*mylist)将其解压到单独的变量中

import csv

SetDryTemp1 = []; SetDryTemp2 = []

with open('/path/to/csv1.csv') as f1, open('path/to/csv2.csv') as f2:
    csv_f1 = csv.reader(f1); csv_f2 = csv.reader(f2)
    for row in csv_f1:
        # APPENDS FIRST THREE COLUMNS (ADJUST COL INDEX AS NEEDED)
        SetDryTemp1.append([row[0], row[1], int(row[2])])

    for row in csv_f2:
        # APPENDS FIRST THREE COLUMNS (ADJUST COL INDEX AS NEEDED)
        SetDryTemp2.append([row[0], row[1], int(row[2])])

SetDryTemp1_Col1, SetDryTemp1_Col2, SetDryTemp1_Col3 = zip(*SetDryTemp1)
SetDryTemp2_Col1, SetDryTemp2_Col2, SetDryTemp2_Col3 = zip(*SetDryTemp2)

相关问题 更多 >

    热门问题