Python 3.x Python 3~如何使用CSV模块获得相同的结果
我的代码中有:Python 3.x Python 3~如何使用CSV模块获得相同的结果,python-3.x,list,csv,file,Python 3.x,List,Csv,File,我的代码中有: with file: csv = csv.reader(file,delimiter=",") df = pd.read_csv(argv[1]) data = df.loc[:, df.columns != 'name'].to_numpy().tolist() data.insert(0, df["name"].tolist()) 当我运行打印(数据)时,输出结果是这样的: 我想知道如何使用CSV模块或for循环获得相同的结果
with file:
csv = csv.reader(file,delimiter=",")
df = pd.read_csv(argv[1])
data = df.loc[:, df.columns != 'name'].to_numpy().tolist()
data.insert(0, df["name"].tolist())
当我运行打印(数据)时,输出结果是这样的:
我想知道如何使用CSV模块或for循环获得相同的结果
内容:
name,AGATC,AATG,TATC
Alice,2,8,3
Bob,4,1,5
Charlie,3,2,5
印刷品:
[['Alice', 'Bob', 'Charlie'], [2, 8, 3], [4, 1, 5], [3, 2, 5]]
['Alice', 'Bob', 'Charlie']
[2, 8, 3]
编辑:
印刷品:
[['Alice', 'Bob', 'Charlie'], [2, 8, 3], [4, 1, 5], [3, 2, 5]]
['Alice', 'Bob', 'Charlie']
[2, 8, 3]
那对你有用吗
import csv
from sys import argv
def csv_to_list_of_lists(csv_file):
with open(csv_file) as f:
reader = csv.reader(f, delimiter=',')
number_of_columns = len(next(reader))#Notice how next() enables to skip the header row
data = [[] for x in range(number_of_columns)]
for index, line in enumerate(reader):
data[0].append(line[0])
values = [int(x) for x in line[1:]]
data[index+1] = values
return data
output = csv_to_list_of_lists(argv[1])
print(output)
结果:
[['Alice', 'Bob', 'Charlie'], [2, 8, 3], [4, 1, 5], [3, 2, 5]]
您可以编辑您的问题并将此CSV文件的内容放在那里吗?完成后,在原始代码中,它排除了标题(名称、AGATC、AATG、TATC)如何合并名称和数据,以便在我写入打印数据[0]时,它输出所有名称和数据[1]输出[2、8、3],依此类推。追加(名称+数据)但是它使一个数据块不是一个列表我希望它输出[['Alice','Bob','Charlie'],[2,8,3],[4,1,5],[3,2,5]]而不是[[Alice','Bob','Charlie'],['2','4','3'],['8','1','2'],['3','5','5].(不同的数字)
[['Alice', 'Bob', 'Charlie'], [2, 8, 3], [4, 1, 5], [3, 2, 5]]