问题1 :文件 phone.txt 以 code:number
格式存储行import pandas as pd
import sqlite3
con = sqlite3.connect('database.db')
data = pd.read_csv('phone.txt', sep='\t', header=None)
data.to_sql('post_table', con, if_exists='replace', index=False)
我想将所有 phone.txt 文件中的数据加载到 database.db 数据库中。但是我将所有内容都装入一列。我需要加载两列:
如何做到?
问题2 :将信息下载到数据库后,如何通过 code 查找 number ?例如,如果我想找出什么 number code = 7 (答案:9062621390)。
答案 0 :(得分:1)
问题1
在您的示例中,pandas无法区分code
和number
,因为您的文件是:
分隔的。读取文件时,您需要将分隔符更改为:
,并指定列,因为您的csv
似乎没有这样的标题
data = pd.read_csv('phone.txt',
sep=':',
names=['code', 'number'])
问题2
将数据放入数据库后,您可以按以下方式查询
number = pd.read_sql_query('SELECT number FROM post_table WHERE code = (?)',
con,
params=(code,))
其中con
是您的sqlite连接。