Python 读取 csv 单个特定单元格
Python read csv single specific cell
我试图只读取一个单元格,以便引入日期以在其他地方使用。
使用 pandas 如果我尝试这样做,我会收到一个错误,通常只是无法读取数据帧,因为它需要一个可行的数据帧,而不是远低于初始行的实际可转换数据帧之前的单个单元格值。我怎样才能得到单元格,即 [A2]
CSV example
是的,pandas 不太擅长格式不一致的文件(比如列数不同)。为此,我建议您使用 csv 标准库。
下面的代码应该会给你想要的值。
import csv
row = 2; col = 1 # A2 = (2,1) cell
with open("yourfile.csv") as f:
reader = csv.reader(f)
for i in range(row):
row = next(reader)
value = row[col-1] # because python index starts at zero
print(value)
演示(使用字符串而不是文件):
import csv
row = 2; col = 1 # A2 = (2,1) cell
input_str = ["a,b", "c,d,e", "f,g,h,i"]
reader = csv.reader(input_str)
for i in range(row):
row = next(reader)
value = row[col-1] # because python index starts at zero
print(value)
为了能够像访问二维对象一样访问 csv,您需要先将其转换为二维 python List
import csv
with open("imdb.csv") as f:
csv_as_list = list(csv.reader(f, delimiter=","))
print(csv_as_list[3][2])
访问元素的格式是csv_as_list[row_index][column_index]
。
我试图只读取一个单元格,以便引入日期以在其他地方使用。 使用 pandas 如果我尝试这样做,我会收到一个错误,通常只是无法读取数据帧,因为它需要一个可行的数据帧,而不是远低于初始行的实际可转换数据帧之前的单个单元格值。我怎样才能得到单元格,即 [A2]
CSV example
是的,pandas 不太擅长格式不一致的文件(比如列数不同)。为此,我建议您使用 csv 标准库。
下面的代码应该会给你想要的值。
import csv
row = 2; col = 1 # A2 = (2,1) cell
with open("yourfile.csv") as f:
reader = csv.reader(f)
for i in range(row):
row = next(reader)
value = row[col-1] # because python index starts at zero
print(value)
演示(使用字符串而不是文件):
import csv
row = 2; col = 1 # A2 = (2,1) cell
input_str = ["a,b", "c,d,e", "f,g,h,i"]
reader = csv.reader(input_str)
for i in range(row):
row = next(reader)
value = row[col-1] # because python index starts at zero
print(value)
为了能够像访问二维对象一样访问 csv,您需要先将其转换为二维 python List
import csv
with open("imdb.csv") as f:
csv_as_list = list(csv.reader(f, delimiter=","))
print(csv_as_list[3][2])
访问元素的格式是csv_as_list[row_index][column_index]
。