我有字符串形式的 sql 数据,我正在尝试将其转换为列表。
sql = "(10001,'AEX','CCC','X12344','John, Doe','Not indicated','None','No','No','No','\r\n'),(10002,'AEX','CCC','X12344','John, Doe','Not indicated','None','No','No','No','\r\n')"
sql = sql.replace("(", "[")
sql = sql.replace(")", "]")
但是,当我尝试使用 list() 将其转换为列表时,它破坏了一切。
最佳答案
尝试使用 ast.literal_eval
和嵌套列表理解:
>>> from ast import literal_eval as leval
>>> sql = "(10001,'AEX','CCC','X12344','John, Doe','Not indicated','None','No','No','No','\r\n'),(10002,'AEX','CCC','X12344','John, Doe','Not indicated','None','No','No','No','\r\n')"
>>> [[leval(x) for x in i.strip('()').replace(",'", "split'").split('split')[:-1]] for i in sql.replace('\r\n', '').replace('),(', ')split(').split('split')]
[[10001, 'AEX', 'CCC', 'X12344', 'John, Doe', 'Not indicated', 'None', 'No', 'No', 'No'], [10002, 'AEX', 'CCC', 'X12344', 'John, Doe', 'Not indicated', 'None', 'No', 'No', 'No']]
>>>
关于Python将sql数据字符串转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59959901/