小编Yon*_*Kim的帖子

在Python中迭代时,跳过CSV文件的最后一行

我正在使用从数据仓库(Cognos)获得的CSV文件进行数据分析.CSV文件的最后一行总结了上面的所有行,但我不需要这一行来进行分析,所以我想跳过最后一行.

我正在考虑添加"if"语句来检查我的"for"循环中的列名,如下所示.

import CSV

with open('COGNOS.csv', "rb") as f, open('New_COGNOS.csv', "wb") as w:
    #Open 2 CSV files. One to read and the other to save.
    CSV_raw = csv.reader(f)
    CSV_new = csv.writer(w)
    for row in CSV_raw:
        item_num = row[3].split(" ")[0]
        row.append(item_num)
        if row[0] == "All Materials (By Collection)": break
        CSV_new.writerow(row)
Run Code Online (Sandbox Code Playgroud)

然而,这看起来像浪费了大量资源.迭代CSV文件时是否有任何pythonian方式可以跳过最后一行?

python csv

6
推荐指数
1
解决办法
4726
查看次数

有没有办法在 SQL Server 中查询 JSON 列而忽略键的大小写?

我正在尝试查询一个大小写混合的 JSON 列。例如,某些行的键都是小写的,如下所示:

{"name":"Screening 1","type":"template","pages":[{"pageNumber":1,...}
Run Code Online (Sandbox Code Playgroud)

但是,某些行的首字母大写,如下所示:

{"Type":"template","Name":"Screening2","Pages":[{"PageNumber":1,...}
Run Code Online (Sandbox Code Playgroud)

不幸的是,SQL Server 似乎只支持区分大小写的 JSON 路径系统。因此,我无法成功查询所有行。如果我在如下查询中使用像“$.pages”这样的小写路径:

SELECT ST.Id AS Screening_Tool_Id
    , ST.Name AS Screening_Tool_Name
    , ST.Description AS Screening_Tool_Description
    , COUNT(JSON_VALUE (SRQuestions.value, '$.id'))  AS Question_Specific_Id

FROM dbo.ScreeningTemplate AS ST
    CROSS APPLY OPENJSON(ST.Workflow, '$.pages') AS SRPages
        CROSS APPLY OPENJSON(SRPages.Value, '$.sections') AS SRSections
Run Code Online (Sandbox Code Playgroud)

我想念任何有大写键的行。有没有办法查询所有行而忽略它们的大小写?

sql sql-server json azure

4
推荐指数
2
解决办法
5733
查看次数

如何使用一个 SQL 查询从数据库中删除所有外部表?

我需要删除所有外部表,因为我需要重新创建外部数据源。但是,您不能删除带有使用该特定数据源的外部表的外部数据源。但是,我不想输入所有表的名称来删除它们。

我搜索了 Stack Overflow,实际上无法找到这个特定问题的答案。我找到了关于删除所有表的更一般问题的答案,并且能够修改解决方案。我提出这个问题是为了记录我能够创建的解决方案,因此您想知道这个特定问题或使用更通用的方法删除 SQL DB 的元素,您可以使用此解决方案。

sql t-sql sql-server azure azure-sql-database

2
推荐指数
1
解决办法
1317
查看次数

标签 统计

azure ×2

sql ×2

sql-server ×2

azure-sql-database ×1

csv ×1

json ×1

python ×1

t-sql ×1