【发布时间】:2013-08-03 11:04:12
【问题描述】:
我不想手动执行解析 CSV 的部分,我需要以这种方式访问单元格:
Cells (row, column) = X
或
X = Cells (row, column)
有人知道怎么做吗?
【问题讨论】:
标签: python csv python-module
我不想手动执行解析 CSV 的部分,我需要以这种方式访问单元格:
Cells (row, column) = X
或
X = Cells (row, column)
有人知道怎么做吗?
【问题讨论】:
标签: python csv python-module
假设您有一个 CSV 文件并希望将其视为一个数组:
您可以使用 numpy 模块中的 genfromtxt,这将创建一个 numpy 数组,其中包含与您的文件中一样多的行和列(X 在下面的代码中)。假设数据都是数字,您可以使用savetxt 将值存储在 csv 文件中:
import numpy as np
X = np.genfromtxt("yourcsvfile.dat",delimiter=",")
X[0,0] = 42 # do something with the array
np.savetxt('yourcsvfile.dat',X,delimiter=",")
编辑:
如果文件中有字符串,你可以这样做:
# read in
X = np.genfromtxt("yourcsvfile.dat",delimiter=",",dtype=None)
# write out
with open('yourcsvfile.dat','w') as f:
for el in X[()]:
f.write(str(el)+' ')
这里的答案中的一些其他技术:
numpy save an array of different types to a text file
How do I import data with different types from file into a Python Numpy array?
【讨论】:
numpy 很好,但对于这么简单的要求来说有点过头了。
试试:
import csv
sheet = list(csv.reader(open(source_csv_location)))
print sheet[0][0]
【讨论】:
根据您需要的复杂程度,pandas 可能会很好。
import pandas as pd
location = r'C:\path\to\your\file.csv'
df = pd.read_csv(location, names=['Names','Births'])
df['Births'].plot()
【讨论】: