![](/img/trans.png)
[英]How do I extract data from a column in csv file in python in relation to the row it's in?
[英]Python: How do you extract a column of data in a csv file if the name of the column has spaces?
例如,此代碼將不起作用,因為“ data.apple pies”之間有一個空格。 但這代表了要選擇的列。 那么,如何在不更改列名的情況下仍從csv列提取數據? 我本可以將'apple pies'更改為'applepies',然后使用data.applepies而不是data.apple pies,但是如果我要對許多列使用這種方式更改名稱,這將很不方便(或者我應該刪除列名稱中的所有空格?)
data = pandas.read_csv('type of foods.csv', names = ['apple pies', 'peach pies'])
applepies = list(data.apple pies)
您可以使用下標訪問該列,並且如果要將其轉換為列表,則應使用Series.tolist()
方法而不是list(...)
。 范例-
applepies = data['apple pies'].tolist()
請注意,答案中重要的是使用data['apple pies']
(下標)訪問列,即使list(data['apple pies'])
都可以使用。 但是我更喜歡使用.tolist()
方法將系列轉換為列表。
演示-
CSV范例-
"apple pies"
12
33
33
123
22
代碼-
In [1]: import pandas as pd
In [2]: df = pd.read_csv('a.csv')
In [3]: df['apple pies'].tolist()
Out[3]: [12, 33, 33, 123, 22]
這與“與”空格一起工作就好了。
import pandas as pd
from StringIO import StringIO
csv = r"""apple pies,peach pies,something,else
apple1,peach1,1,2
apple2,peach2,1,2
apple3,peach3,1,2
apple4,peach4,1,2
apple5,peach5,1,2
"""
data = pd.read_csv(StringIO(csv),
usecols=["apple pies","peach pies"],
header=0)
data.columns = ['apple', 'peach']
print list(data.apple)
print data
輸出:
['apple1', 'apple2', 'apple3', 'apple4', 'apple5']
apple peach
0 apple1 peach1
1 apple2 peach2
2 apple3 peach3
3 apple4 peach4
4 apple5 peach5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.