Sublime3:从文件中读取数据帧,其名称由命令行参数给出
Sublime3: read dataframe from file, which name given by command line argument
我一直在使用 ipython 笔记本,但现在我应该传递给脚本 .py。在 ipython 中看似容易的事情在编写普通脚本时变得更加困难(如果我误解了什么,请纠正我)。
因此,例如我需要从文件中读取数据帧(然后使用该数据帧执行一些操作),我想在命令行中将其名称作为参数提供:
python myfile.py filename.csv
为此我编写了以下脚本:
import pandas as pd
import numpy as np
import datetime
import time
import sys
def read_file(filesrc):
df = pd.read_csv(filesrc,
sep= '\t',
names=['id', 'date', 'name', 'age'],
parse_dates=['date'],
infer_datetime_format=True)
print "Reading file..."
df1 = (df.drop(['id'], 1)
.sort_index(by=['date'], ascending=True)
.reset_index()
.drop('index', 1))
return df1.to_csv('just_df.csv')
def main():
filesrc = sys.argv[1]
read_file(filesrc)
if __name__ == '__main__':
main()
但我总是报错:
df1 = df.drop(['id'], 1).sort_index(by=['date'], ascending=True).reset_index().drop('index', 1)
^
IndentationError: unindent does not match any outer indentation level
我注意制表符和 space 缩进,而且,在 Sublime3 中工作,在这种情况下我没有关于丢失或额外缩进的警告,所以我很惊讶看到这个错误,我猜脚本的其他部分可能有问题,可能是从 sys.argv[1]
或其他地方读取的,因此非常感谢您的帮助和建议。
IndentationError只能是缩进错误!仔细检查一下。在 Sublime 上,尝试 View -> Indentation -> Convert indentation to tab... 并查看该行是否超出缩进级别。
我一直在使用 ipython 笔记本,但现在我应该传递给脚本 .py。在 ipython 中看似容易的事情在编写普通脚本时变得更加困难(如果我误解了什么,请纠正我)。 因此,例如我需要从文件中读取数据帧(然后使用该数据帧执行一些操作),我想在命令行中将其名称作为参数提供:
python myfile.py filename.csv
为此我编写了以下脚本:
import pandas as pd
import numpy as np
import datetime
import time
import sys
def read_file(filesrc):
df = pd.read_csv(filesrc,
sep= '\t',
names=['id', 'date', 'name', 'age'],
parse_dates=['date'],
infer_datetime_format=True)
print "Reading file..."
df1 = (df.drop(['id'], 1)
.sort_index(by=['date'], ascending=True)
.reset_index()
.drop('index', 1))
return df1.to_csv('just_df.csv')
def main():
filesrc = sys.argv[1]
read_file(filesrc)
if __name__ == '__main__':
main()
但我总是报错:
df1 = df.drop(['id'], 1).sort_index(by=['date'], ascending=True).reset_index().drop('index', 1)
^
IndentationError: unindent does not match any outer indentation level
我注意制表符和 space 缩进,而且,在 Sublime3 中工作,在这种情况下我没有关于丢失或额外缩进的警告,所以我很惊讶看到这个错误,我猜脚本的其他部分可能有问题,可能是从 sys.argv[1]
或其他地方读取的,因此非常感谢您的帮助和建议。
IndentationError只能是缩进错误!仔细检查一下。在 Sublime 上,尝试 View -> Indentation -> Convert indentation to tab... 并查看该行是否超出缩进级别。