我是 Python 的初学者。我的数据表(Table1)有 21 列和数千行。它太大了,我无法在笔记本电脑上打开它。它看起来有点像这样:
ABCDEFG、HIJKLMNO、PQRSTUVW、TEYHDSJD ........
TRGFHFJ,GDGSANTO,JDKNVWWR,URNWHJX ........
…………
但是,我需要重现该表的一个子集,该子集仅包含第 10-21 列。我尝试了以下方法:
import sys
import csv
with open(sys.argv[1], "r") as input:
readinput = csv.reader(input, delimiter=',')
with open("output.csv", 'wt') as output:
writer=csv.writer(output, delimiter="\t")
for row in input:
values = [row[10],row[11],row[12],row[13],row[14],row[15],row[16],row[17],row[18],row[19],row[20],row[21]]
writer.writerow([values])
print (row[10])
但事实证明 cvs.reader 的表达式“row[10]”没有将其解释为行的第 10 个元素(=第 10 列)。相反,它给了我第 10 个字母。所以输出的不是Table1的第10到21列,而是第10到21个字母,有点像这样:
K、L、M、N、O、""、P、Q、R、S、T、U
S、A、N、T、O、""、J、D、K、N、V、W
我究竟做错了什么?谢谢你的帮助!