Python 无法正确拆分列表中的项目

Python 无法正确拆分列表中的项目,python,python-3.x,Python,Python 3.x,我正在将项目从CSV文件加载到列表中。现在,我试着在每条新行上拆分列表,我得到了这个 这是我的密码 mylist=[] file = open('C:\\Users\\Excel\\Desktop\\test.csv') for line in file: mylist.append(line) import pandas as pd import pypyodbc cnxn = pypyodbc.connect('Driver={SQL Server Native Clien

我正在将项目从CSV文件加载到列表中。现在,我试着在每条新行上拆分列表,我得到了这个

这是我的密码

mylist=[]
file = open('C:\\Users\\Excel\\Desktop\\test.csv') 
for line in file: 
    mylist.append(line)


import pandas as pd
import pypyodbc 
cnxn = pypyodbc.connect('Driver={SQL Server Native Client 11.0};'
                        'Server=server_name;'
                        'Database=db_name;'
                        'Trusted_Connection=yes;')

#print(cnxn)
for item in mylist:
#for line in mylist:
    print(item)
    sql_for_df = 'select * ' + item.split(',')
    item_order = pd.read_sql(sql_for_df , cnxn)
    order_details = pd.read_sql(sql_for_df , cnxn)
    orders = pd.read_sql(sql_for_df , cnxn)


from functools import reduce
dfs = [item_order, order_details, orders]
df_final = reduce(lambda left,right: pd.merge(left,right,on='OrderID'), dfs)
这:

给我这个:

ItemOrder

Order Details

Orders
但是,当我尝试连接它时,如下所示:

sql_for_df = 'select * ' + item.split(',')
我得到了这个错误

TypeError: can only concatenate str (not "list") to str

这几乎就像列表被正确拆分,然后从列表返回到原始格式。我做错了什么?

再看一眼,我自己就明白了。谢谢你的反对票

这是最后一个有效的解决方案

mylist=[]
file = open('C:\\Users\\Excel\\Desktop\\test.csv') 
for line in file: 
    mylist.append(line)


import pandas as pd
import pypyodbc 
cnxn = pypyodbc.connect('Driver={SQL Server Native Client 11.0};'
                        'Server=server_name;'
                        'Database=db_name;'
                        'Trusted_Connection=yes;')

for item in mylist:
        #print(item)
        sql_for_df = 'select * from ' + item
        orders = pd.read_sql(sql_for_df , cnxn)
        print(orders)


from functools import reduce
dfs = [item_order, order_details, orders]
df_final = reduce(lambda left,right: pd.merge(left,right,on='OrderID'), dfs)

因为您提供的是列表而不是列表的元素,所以此项。拆分“,”将返回一个列表。你可以使用map.join,item.split',返回字符串中单词的**列表**是的,我读了文档。由于列表未正确拆分,此处仍有问题。当我打印sql_for_df时,我会得到这样的信息:“选择*订单\n”
mylist=[]
file = open('C:\\Users\\Excel\\Desktop\\test.csv') 
for line in file: 
    mylist.append(line)


import pandas as pd
import pypyodbc 
cnxn = pypyodbc.connect('Driver={SQL Server Native Client 11.0};'
                        'Server=server_name;'
                        'Database=db_name;'
                        'Trusted_Connection=yes;')

for item in mylist:
        #print(item)
        sql_for_df = 'select * from ' + item
        orders = pd.read_sql(sql_for_df , cnxn)
        print(orders)


from functools import reduce
dfs = [item_order, order_details, orders]
df_final = reduce(lambda left,right: pd.merge(left,right,on='OrderID'), dfs)