Python 无法正确拆分列表中的项目
我正在将项目从CSV文件加载到列表中。现在,我试着在每条新行上拆分列表,我得到了这个 这是我的密码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
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)