我正在写一个程序,提供银行对帐单,你可以按日期搜索,它会读取你的摘录,并给出你当天花了多少钱,但我遇到了一个大问题,我让它按日期搜索,但它不会打印整个角色,只有日期,这是我写的代码
def analyzePdf(self, pdf_file=None):
call_result = {}
debug_data = []
return_msg = "BankAccountReport:analyzePdf"
if type(pdf_file) != str:
return_msg += "input validation failed: pdf_file must be an string that sets where the document is"
return {{'success': RC.input_validation_failed, 'return_msg': return_msg, 'debug_data': debug_data}}
df = wrapper.read_pdf(pdf_file, pages= "all", output_format="csv")
df.to_csv("output.csv")
df = pd.read_csv("output.csv", usecols=['Data',"Docto.", "Saldo (R$)"])
print(df)
df.to_csv("output2.csv")
inp = pd.to_datetime(input('please enter the date: '), format="%d/%m/%Y")
print(df[(df['Data'] == inp)])下面是我得到的输出:
please enter the date: 07/10/2019
Empty DataFrame
Columns: [Data, Docto., Saldo (R$)]
Index: []并且预期输出将是
07/10/2019 R$ 809,22发布于 2019-12-03 04:57:29
未测试,但看起来您想要按日期过滤数据帧。
df = df[df['Data'].str.contains(str(inp))]发布于 2019-12-03 04:56:49
确保两个值(列上的值和作为inp传递的值)的格式都匹配,因为这似乎有问题,一个是字符串,另一个是datetime对象。除此之外,你的代码在很大程度上应该可以正常工作。这里我可以用一个例子来证明:
将熊猫作为pd导入
data = {'Data':['20/02/2019','25/08/2019','21/09/2019'],'Saldo (R$)':[800,300,504]}
df = pd.DataFrame(data)
df['Data'] = pd.to_datetime(df['Data'],format='%d/%m/%Y')
inp = pd.to_datetime(input('please enter date: '), format='%d/%m/%Y')
print(df)
print("filtered: ")
print(df[df['Data'] == inp])输出:
please enter date: 21/09/2019
Data Saldo (R$)
0 2019-02-20 800
1 2019-08-25 300
2 2019-09-21 504
filtered:
Data Saldo (R$)
2 2019-09-21 504https://stackoverflow.com/questions/59146466
复制相似问题