编辑批准的答案是正确的,我的所有数据都出现在文件中,但由于它循环并将每条信息写入新行,因此数据无组织并以层叠模式显示.此时它只是一个格式化问题.有人遇到过类似的问题吗?
我有一个for循环,我在其中定义了多个变量.我需要将这些变量中的值打印到CSV,而不是一遍又一遍地写入行.我知道这个解决方案涉及在for循环之外放置"with open"语句,但是python不再识别我的变量.
我认为解决方案的另一部分是将数据附加到变量中,以便您可以在for循环之外调用它,但我不知道如何为我的情况执行此操作.
例:
for item in my_list:
info = inspect.getmembers(item)
name = info[0]
import csv
with open("sample.csv", "w") as csvFile:
fieldnames = ['Item Name']
writer = csv.DictWriter(csvFile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'Item Name': name })
csvFile.close()
Run Code Online (Sandbox Code Playgroud)
在此示例中,无法定义变量"name",因为它是在for循环中定义的.
我的http:// localhost:8888 / VGL / public / category / 18?sty = 3
当dd($request->sty);等于3
但是我把$request->sty在whereHas为
未定义的变量:请求
public function show(Request $request, $id)
{
$products = Product::with('features')
->whereHas('features', function ($q) {
return $q->where('id', $request->sty);
})
->where('category_id',17)
->get();
}
Run Code Online (Sandbox Code Playgroud) 我发现似乎只有在 lisp 中才能定义这个:
(lambda (x)(+ x y 1))
Run Code Online (Sandbox Code Playgroud)
在其他语言中,即使是函数式语言,也必须先定义一个变量,然后才能使用它
所以在lisp中,有“自由变量”,“绑定变量”的概念。其他语言有这个概念吗?因为所有的变量都必须先定义,所以所有的变量都是“绑定变量”?变量有一个初始值,在全局或其他范围?
我认为 lambda 的概念很早,但是如果任何变量或值,必须先定义然后使用,是不是更容易理解和使用?
谢谢!