2024-04-20 12:54:55 发布
网友
我被迫工作的CSV文件,而不是一个数据库的项目。。。令人恼怒但却是真实的。我无法控制CSV将出现的组织。我可以合理地保证名称将保留在CSV标题中
我正准备编写一些代码来返回字符串匹配的列id,但想知道是否有一个模块可以为我这样做
e.g. data = csv.csvRowData[5] becomes data = csv.csvRowData[find_rowID('column_name')]
原谅我,如果我的代码语法是关闭的,来自php。将找出如何使其在语法中工作
python标准库包括csv module
它提供了DictReader类,允许您通过列标题标签访问行的数据
DictReader将CSV文件中的第一行作为列标题,然后以列标签作为键,行的数据作为值,将随后的每一行作为dict提供
例如,如果people.csv看起来像这样:
people.csv
"First Name","Last Name" Peter,Venkman Egon,Spengler
您可以这样使用DictReader:
import csv with open('people.csv') as csv_file: csv_reader = csv.DictReader(csv_file) for row in csv_reader: print row["Last Name"] # will output Venkman Spengler
我使用pandas包,有一个强大的read_csv实用工具http://pandas.pydata.org/pandas-docs/stable/generated/pandas.io.parsers.read_csv.html
pandas
read_csv
cat test.csv date,value 2014,Hi 2015,Hello import pandas as pd df = pd.read_csv('test.csv')
这将返回一个pandas.DataFrame,它可以实现您想要的功能(以及更多功能,例如转换列上的数据类型),请在IPython上试用:
pandas.DataFrame
In [5]: df['date'] Out[5]: 0 2014 1 2015 Name: date, dtype: int64 In [6]: df.columns Out[6]: Index([u'date', u'value'], dtype='object')
python标准库包括csv module
它提供了DictReader类,允许您通过列标题标签访问行的数据
DictReader将CSV文件中的第一行作为列标题,然后以列标签作为键,行的数据作为值,将随后的每一行作为dict提供
例如,如果
people.csv
看起来像这样:您可以这样使用DictReader:
我使用
pandas
包,有一个强大的read_csv
实用工具http://pandas.pydata.org/pandas-docs/stable/generated/pandas.io.parsers.read_csv.html这将返回一个
pandas.DataFrame
,它可以实现您想要的功能(以及更多功能,例如转换列上的数据类型),请在IPython上试用:相关问题 更多 >
编程相关推荐