Для меня ни один из других решений не работал (включая стратегию очистки / восстановления). Я нашел другое решение для решения проблемы, которое заключается в закрытии и повторной открытии Visual Studio.
Я полагаю, это заставляет Visual Studio повторно загружать решение и все проекты, перепроверяя зависимости в этом процессе.
Вопреки другим ответам здесь, я думаю, вы должны использовать модуль csv
. Если ваши файлы содержат заголовки или поля в кавычках, вы будете намного счастливее, чем если бы вы попытались изменить свое решение после того, как факт:
with open('filename') as infile:
r = csv.reader(infile, delimiter=' ', skipinitialspace=True)
for row in r:
print(row)
Ваш файл выглядит так, как будто на вашем компьютере он разделен табуляцией. В этом случае вы измените delimiter=' '
на delimiter='\t'
в приведенном выше.
Вы также можете использовать панд , который имеет более общий режим пробелов
df = pd.read_csv("filename", header=None, delim_whitespace=True)
Вот код, который вы можете использовать
Также пара моментов, связанных с вашим кодом csv.reader
, является излишним. Все делается с помощью просто встроенных модулей - это не внешние зависимости.
Также использование имен переменных, таких как read
, не очень хорошая идея.
lines = """1 1011.720000 1830.340000 0 0 0 191340 ? 1.000000
2 1011.720000 1830.340000 0 0 0 725670 ? 2.000000
3 1011.720000 1830.340000 0 0 0 1.4378e+06 ? 3.000000
4 1011.720000 1830.340000 0 0 0 2.178e+06 ? 4.000000
5 1011.720000 1830.340000 0 0 0 2.8806e+06 ? 5.000000
6 1011.720000 1830.340000 0 0 0 3.5353e+06 ? 6.000000
7 1011.720000 1830.340000 0 0 0 4.1598e+06 ? 7.000000
8 1011.720000 1830.340000 0 0 0 4.7729e+06 ? 8.000000
9 1011.720000 1830.340000 0 0 0 5.3924e+06 ? 9.000000
10 1011.720000 1830.340000 0 0 0 6.0281e+06 ? 10.000000"""
for line in lines.split("\n"):
toks = line.split() # This should split the line into tokens separated by one or more white space characters.
if len(toks) == 9: # Just to make sure there are enough tokens.
# do whatever you want
print (toks[6])
Благодарность @Eugen Constantin Dinca & amp; @tobias_k для упрощения кода
with open('csv.dat', "rb") as infile:
for row in infile:
print row.split()
Вывод:
['1', '1011.720000', '1830.340000', '0', '0', '0', '191340', '?', '1.000000']
['2', '1011.720000', '1830.340000', '0', '0', '0', '725670', '?', '2.000000']
['3', '1011.720000', '1830.340000', '0', '0', '0', '1.4378e+06', '?', '3.000000']
['4', '1011.720000', '1830.340000', '0', '0', '0', '2.178e+06', '?', '4.000000']
['5', '1011.720000', '1830.340000', '0', '0', '0', '2.8806e+06', '?', '5.000000']
['6', '1011.720000', '1830.340000', '0', '0', '0', '3.5353e+06', '?', '6.000000']
['7', '1011.720000', '1830.340000', '0', '0', '0', '4.1598e+06', '?', '7.000000']
['8', '1011.720000', '1830.340000', '0', '0', '0', '4.7729e+06', '?', '8.000000']
['9', '1011.720000', '1830.340000', '0', '0', '0', '5.3924e+06', '?', '9.000000']
['10', '1011.720000', '1830.340000', '0', '0', '0', '6.0281e+06', '?', '10.000000']