我正在尝试解析一个文件。目前,我有这个文件:
word1 52345325
word2 12312314
word3 7654756
word4 421342342
我正在尝试将 word1
word2
word3
和 word4
存储到一个数组中,以及与这些相邻的数字词到另一个数组。
所以如果我说 a[0]
我应该得到 word1
,如果我说 b[0]
我应该得到 52345325
等等。
我正在考虑制作一个键值对字典对象,但在这一点上可能有点复杂,因为我刚刚接触 python。
我目前正在这样做,但当然,它不起作用 :P
def csvStringParser():
a = {}
b = {}
i = 0
f = open('/Users/settingj/Desktop/NOxMultiplier.csv')
for line in f.readlines():
reader = csv.reader(line.split('\t'), delimiter='\t')
for row in reader:
#print '\t'.join(row)
#print i
a[i] = '\t'.join(row)
b[i] = '\t'.join(row)
print a[i]
print b[i]
i+=1
老实说,这是我使用 Python 的第一个小时。我可以在 C++ 中轻松地做到这一点,但我目前只是想学习 Python 以了解它比 C++ 有更大的好处/简单性。
最佳答案
import csv
a = {}
with open('/Users/settingj/Desktop/NOxMultiplier.csv') as f:
reader = csv.reader(f, delimiter='\t')
for row in reader:
a[row[0]] = row[1]
print a
对于两个数组:
a = []
b = []
with open('/Users/settingj/Desktop/NOxMultiplier.csv') as f:
reader = csv.reader(f, delimiter='\t')
for row in reader:
a.append(row[0])
b.append(row[1])
print a
print b
甚至与 zip 类似的解决方案:
with open('/Users/settingj/Desktop/NOxMultiplier.csv') as f:
a, b = zip(*csv.reader(f, delimiter='\t'))
print a
print b
关于python - 用 Python 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18198713/