如何在命令提示符下使用psql设置管道定界符

时间:2018-07-21 14:16:05

标签: command-line psql

我正在使用Windows 10命令提示符(编写批处理脚本)。

我有一个长而曲折的2班轮要使用sed导出,然后清理报价,它可以工作,但是很乱。

在以下命令中将管道设置为定界符会更加理想化

for current_file in files:
    parent_id = current_file['parents'][0]
    parent_folder = drive_service.files().get(fileId=parent_id, fields="name").execute()
    if parent_folder['name'] == "Documents":
         print("%s is the right file")
         return current_file['webViewLink']

错误

echo COPY nSymbols(symbol,securityName,MarketCategory,testIssue,financialStatus,roundLotSize,nextShares) FROM 'c:\test\nasdaqSymbols.txt' DELIMITER '|' CSV HEADER;| psql -U postgres nasdaqsymbols

我无法控制源文件。我现在唯一的方法是搜索和替换|与;并导出,但是该方法将引号括在每个字段中,因此我清理了引号,然后将其导入为“;”定界文件(请注意示例数据中的逗号)。

源数据示例(标题行后跟2个条目):

''' is not recognized as an internal or external command,
operable program or batch file.

我尝试了--fields-terminated-by =“ |”通过引用另一篇文章

Symbol|Security Name|Market Category|Test Issue|Financial Status|Round Lot Size|ETF|NextShares
AABA|Altaba Inc. - Common Stock|Q|N|N|100|N|N
AAL|American Airlines Group, Inc. - Common Stock|Q|N|N|100|N|N

抱怨符号(8)太小。这使我相信它正在尝试将整个行放入第一个变量。我将列调整为256,然后重新运行,然后出现此错误

echo COPY nSymbols(symbol,securityName,MarketCategory,testIssue,financialStatus,roundLotSize,ETF,nextShares) FROM 'c:\test\nasdaqSymbols.txt' CSV HEADER --fields-terminated-by="|";| psql -U postgres nasdaqsymbols

0 个答案:

没有答案