随机生成一个有四个字段:姓名、年龄、爱好、身高的dataframe,其中姓名为中文,并将它导入duckdb,表名命名为test,通过查询验证数据已导入成功,要求中文查询后能正确显示
时间: 2024-09-15 18:14:04 浏览: 64
在Python中,你可以使用pandas库来创建DataFrame,然后利用duckdb连接数据库并执行SQL操作。首先,我们需要安装必要的库:
```bash
pip install pandas duckdb
```
接下来,我们创建一个包含中文姓名的DataFrame:
```python
import pandas as pd
import random
# 创建随机数据
data = {
'姓名': ['张三', '李四', '王五', '赵六'],
'年龄': [25, 30, 28, 32],
'爱好': ['篮球', '阅读', '旅行', '音乐'],
'身高': [175, 180, 170, 185]
}
df = pd.DataFrame(data)
# 将DataFrame保存为CSV文件以便导入到duckdb
df.to_csv('temp.csv', index=False)
```
现在,我们将这个CSV文件导入到DuckDB中:
```python
from duckdb import DuckDB
# 初始化duckdb连接
db = DuckDB()
# 连接到数据库
with db.connect(database=':memory:') as conn:
# 导入csv文件
conn.execute("CREATE TABLE test (LIKE temp CSV)")
# 验证数据是否导入成功
result = conn.execute("SELECT * FROM test LIMIT 1")
print(result.fetchall())
```
这里`LIKE temp CSV`语句表示我们基于`temp.csv`的结构创建新表`test`。你可以看到查询结果,如果姓名等字段都正常显示,就说明导入成功。
阅读全文