【发布时间】:2016-02-24 09:59:07
【问题描述】:
我对使用 python 很陌生,所以我希望你能在这里帮助我。我必须编写一个程序来打开一个 csv 文件,读取它并让你通过输入数字来选择你想要的列。这些必须放在一个新文件中。问题是:在输入我想要的列并将“X”启动主要部分之后,它会生成我想要的内容,但是通过使用循环,而不是打印包含它的变量。但是对于 csv-writer 我需要一个包含它的变量。有任何想法吗?在这里你有我的代码,有问题随时问。 csvfile 就像:
john, smith, 37, blue, michigan
tom, miller, 25, orange, new york
jack, o'neill, 40, green, Colorado Springs
...etc
代码是:
import csv
with open("test.csv","r") as t:
t_read = csv.reader(t, delimiter=",")
t_list = []
max_row = 0
for row in t_read:
if len(row) != 0:
if max_row < len(row):
max_row = len(row)
t_list = t_list + [row]
print([row], sep = "\n")
twrite = csv.writer(t, delimiter = ",")
tout = []
counter = 0
matrix = []
for i in range(len(t_list)):
matrix.append([])
print(len(t_list), max_row, len(matrix), "Rows / Columns / Matrix Dimension")
eingabe = input("Enter column number you need or X to start generating output: ")
nr = int(eingabe)
while type(nr) == int:
colNr = nr-1
if max_row > colNr and colNr >= 0:
nr = int(nr)
# print (type(nr))
for i in range(len(t_list)):
row_A=t_list[i]
matrix[i].append(row_A[int(colNr)])
print(row_A[int(colNr)])
counter = counter +1
matrix.append([])
else:
print("ERROR")
nr = input("Enter column number you need or X to start generating output: ")
if nr == "x":
print("\n"+"Generating Output... " + "\n")
for row in matrix:
# Loop over columns.
for column in row:
print(column + " ", end="")
print(end="\n")
else:
nr = int(nr)
print("\n")
t.close()
【问题讨论】:
标签: python csv variables output