前言:我对这项工作非常陌生(如上周刚开始),所以如果我表现出绿色,我要提前道歉。
我有3个单独的大数据文件,分别表示不同时间点的特定距离。每个文件占总时间的三分之一,分为53列,第一列是时间戳记,另外52列分别是所测量的不同距离,分别命名为01A,01B,02A,02B等。目标是创建一个直方图,将所有三个文件的每个距离(例如01A)的数据合并在一起。
我想出了这个选项,它非常适合我制作的较小的示例数据文件:
import csv
import matplotlib.pyplot as plt
Countries = []
with open("python_practice.txt", "r") as csv_file:
csv_file.readline()[1:]
csv_reader = csv.DictReader(csv_file, delimiter='\t')
for lines in csv_reader:
Country = lines['country']
Countries.append(Country)
with open("python_practice1.txt", "r") as csv_file1:
csv_reader1 = csv.DictReader(csv_file1, delimiter='\t')
for lines in csv_reader1:
Country1 = lines['country']
Countries.append(Country1)
data = Countries
plt.hist(data, bins='auto')
但是,当我尝试通过以下方式使它仅用于单个实际数据文件时:
import csv
import matplotlib.pyplot as plt
Distances = []
with open("distances_1.traj", "r") as csv_file:
csv_file.readline()[1:]
csv_reader = csv.DictReader(csv_file, delimiter='\t')
for lines in csv_reader:
Distance = lines['01A']
Distances.append(Distance)
data = Distances
plt.hist(data, bins='auto')
我收到一个KeyError:'01A'
我不确定DictReader为什么无法“识别”列名01A,或者如何解决此问题。因此,欢迎在这里提出任何建议。