Python 我想打印出行[';A';,';e';]下的元素,但结果不是我想要的,我不想要;我无法理解我编写的代码的结果
我制作的一个小TEST.csv的图像: 任务:我想打印出['A','e'行中的元素 结果应该是:Python 我想打印出行[';A';,';e';]下的元素,但结果不是我想要的,我不想要;我无法理解我编写的代码的结果,python,csv,Python,Csv,我制作的一个小TEST.csv的图像: 任务:我想打印出['A','e'行中的元素 结果应该是: 21, 22, 23 我的代码: with open('TEST.csv') as f: reader = csv.DictReader(f) for k in reader: print(k) 但我得到的结果是: OrderedDict([('A', 'e')]) OrderedDict([('A', '21')]) OrderedDict([('A', '
21, 22, 23
我的代码:
with open('TEST.csv') as f:
reader = csv.DictReader(f)
for k in reader:
print(k)
但我得到的结果是:
OrderedDict([('A', 'e')])
OrderedDict([('A', '21')])
OrderedDict([('A', '22')])
OrderedDict([('A', '23')])
有很多方法可以做到这一点,尽管熊猫可以让它变得更容易。比如说,
import pandas as pd
df = pd.read_csv('TEST.csv', header=[0,1])
df可能类似于:
A
a b c d e
0 1 6 11 16 21
1 2 7 12 17 22
2 3 8 13 18 23
然后呢,
df['A']['e'].tolist() # would return a list like
[21L, 22L, 23L]
如果不希望整数类型变长,请执行以下操作
map(int, df['A']['e'].tolist())
为什么不用熊猫
CSV
a b c d e
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
OUT
21 22 23
[21, 22, 23]
重要的是要获得准确的分隔符
下面3.7的映射为
print (list(map(int, df.e.tolist())))
OUT
21 22 23
[21, 22, 23]
请以文本形式发布您的csv文件。问题是您的标题列与条目重复,因此只考虑最后一列(我想会覆盖以前的列)。除非你跳过第一行(csv模块怎么能猜出你的文件有两个标题行),否则你不能将这样的文件输入字典。谢谢你的快速回复@Jean François Fabre♦ 我制作这个.csv是因为我看到其他一些.csv使用这个方法对数据进行排序。我觉得这很奇怪,所以我做了一个小的,并试图运行自己。数据提供程序提供的用于分析数据的代码有错误。我以前不知道怎么问这个问题,但我想现在我知道怎么问了。再次感谢!