[英]Read content from csv having delimiter in python using pandas.read_csv
我想從csv文件中讀取內容。 以下是文件格式:
SOURCE_TYPE|SOURCE_QUERY|TARGET_QUERY
HIVE|SELECT *
FROM (SELECT *,ROW_NUMBER() OVER (PARTITION BY USR_ID
ORDER BY snap_logmarker DESC ) AS row_num
FROM ( SELECT USR_ID,snap_logmarker
FROM ARCHIVE_db.a_cust_auth
WHERE (CONCAT(snapshot_year_month, snapshot_day) = '20171231')
UNION ALL
SELECT USR_ID,snap_logmarker FROM ( SELECT *,ROW_NUMBER() OVER (PARTITION BY USR_ID ORDER BY snap_logmarker desc,snap_intentseq desc ) AS row_num
FROM staging_db.a_cust_auth
WHERE snapshot_year_month ='201801') C
WHERE C.row_num = 1
) B
) A
WHERE A.row_num = 1
|
select * from db.cust_auth where concat(snapshot_year_month,snapshot_day)='20180131'
我想在字符串列表中分隔所有值,並且使用的定界符為“ |” 即
SOURCE_TYPE =嗨
SOURCE_QUERY =完成子查詢直到| 分隔器
TARGET_QUERY =上次選擇查詢
使用pandas.read_csv,無法分析此文件結構。
如何分隔值並存儲在列表中?
如果我了解您的問題,您可以加載文件但不能解析它? 您可以將文件內容存儲在變量中,然后在確定分隔符的情況下使用split
方法對其進行split
。
list_str = your_file_content.split("|")
它將返回一個列表,其中包含文件中所有不同的字符串。
此功能有一些示例: https : //www.pythonforbeginners.com/dictionary/python-split
CSV文件由包含字段的記錄組成。 字段分隔符通常是逗號( ,
),但可以是任何字符,而記錄分隔符通常位於行尾( '\\r\\n'
)。 在字段中嵌入分隔符(包括記錄分隔符)通常需要將該字段括在引號中。
您的文件似乎包含一個記錄,行尾嵌入字段中且沒有引號:它不是CSV文件,不應是進程,而應是帶有csv文件的工具。
只需閱讀並拆分|
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.