我有一个代码来按行读取csv文件
import csv
with open('example.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
for row in readCSV:
print(row)
print(row[0])
但我只想选择哪些专栏可以让任何人给我一个脚本?
答案 0 :(得分:1)
import csv
with open('example.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
column_one = [row[0] for row in readCSV ]
将为您提供第一列中的值列表。话虽这么说 - 无论如何你必须阅读整个文件。
答案 1 :(得分:0)
你不能这样做,因为文件是逐字节写入你的文件系统的。要知道一行结束的位置,您必须读取所有行以检测是否存在换行符。 CSV中无法解决这个问题。
因此您必须阅读所有文件 - 但您可以选择要保留的每一行的哪些部分。
答案 2 :(得分:0)
我肯定会使用pandas。
然而,在普通的python中这是一种方法。
在这个例子中,我正在提取第3行第4列的内容。
import csv
target_row = 3
target_col = 4
with open('yourfile.csv', 'rb') as csvfile:
reader = csv.reader(csvfile)
n = 0
for row in reader:
if row == target_row:
data = row.split()[target_col]
break
print data
答案 3 :(得分:0)
read_csv
模块中的 pandas
可以加载columns
的子集。
假设您只想在columns
文件中加载1
3
和.csv
。
import pandas as pd
usecols = [1, 3]
df = pd.read_csv('example.csv',usecols=usecols, sep=',')
这是read_csv的Doc。
此外,如果您的文件很大,您可以通过在chucksize
read_csv
来逐个阅读该文件