我想导入保存在Excel中的数据线。如何将每一行的数据保存为列表?
Excel文件具有以下类型的数据:
Name B C D
ItemID 3 3 4
Height 5 5 7
Length 6 5 8
我想将B、C、D保存在名为Name
的列表中,将3,3,4保存为名为ItemID
的列表。我尝试使用以下代码,但它总是返回文件的最后一行。
f = open('part.csv', 'r')
csv_f=csv.reader(f,delimiiter=',')
for row in csv_f:
name.append(row[1])
numid.append(row[2])
height.append(row[3])
length.append(row[4])
发布于 2016-03-07 20:55:53
强烈建议考虑使用熊猫 -- python数据分析库。
import pandas as pd
csv_df = pd.read_csv('part.csv')
df_T = csv_df.T
print df_T['ItemID'].tolist()
print df_T.index.tolist()
发布于 2016-03-06 22:20:01
我认为您误解了一个行拥有该行的所有列,例如,第一次通过循环row = ['Name', 'B', 'C', 'D']
。
因此,使用字典,将键作为第一列,其余作为值:
data = {}
with open('part.csv', 'r') as f:
csv_f=csv.reader(f,delimiiter=',')
for row in csv_f:
data[row[0]] = row[1:]
数据:
{'Height': ['5', '5', '7'],
'ItemID': ['3', '3', '4'],
'Length': ['6', '5', '8'],
'Name': ['B', 'C', 'D']}
发布于 2016-03-06 22:20:18
尝尝这个
with open('testdata.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
name.append(row['fieldname'])
https://stackoverflow.com/questions/35837274
复制相似问题